Ok, I will check that, the bug seems to be quite similar, but I don't
know if the solution is effective in archlinux (XSession does not seems
to exists).
>>> linux-template-builder:
>>> 0001-archlinux-update-current-is-version.patch
>>> 0002-archlinux-remove-linux-kernel-from-the-base-install-.patch
>>> 0003-archlinux-template-flavor-support-including-minimal-.patch
>>> With these patches, a minimal template can be built that takes ~1G
>> (~500M for the rpm) and that include working xterm, working qubes agents
>> and sound.
> Applied.
>
>>> *Remaining bug:*
>>> - The template fails to perform the first start, probably because of
>> systemd dependencies similar to qubes-sysinit.service, but that only
>> occurs at the first startup. After the first startup successfully
>> completed (using an old kernel version), the template can be started
>> using the newest linux kernel.
> Strange... Perhaps some problem with /lib/modules mounting?
>
I don't really know. It does not survives the root switch, but it
apparently mount xvdd successfully:
[ 1.328179] systemd[1]: systemd 208 running in system mode. (+PAM
+LIBWRAP +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ)
[ 1.328316] systemd[1]: Detected virtualization 'xen'.
[ 1.328331] systemd[1]: Running in initial RAM disk.
Welcome to .[0;34mFedora 20 (Heisenbug) dracut-037-11.git20140402.fc20
(Initramfs).[0m!
[ 1.329322] systemd[1]: Inserted module 'autofs4'
[ 1.329672] systemd[1]: No hostname configured.
[ 1.329695] systemd[1]: Set hostname to <localhost>.
[ 1.329793] systemd[1]: Initializing machine ID from random generator.
[ 1.456165] systemd[1]: Expecting device dev-mapper-dmroot.device...
Expecting device dev-mapper-dmroot.device...
[ 1.456264] systemd[1]: Starting -.slice.
[.[32m OK .[0m] Created slice -.slice.
[ 1.456618] systemd[1]: Created slice -.slice.
[ 1.456656] systemd[1]: Starting System Slice.
[.[32m OK .[0m] Created slice System Slice.
[ 1.456821] systemd[1]: Created slice System Slice.
[ 1.456848] systemd[1]: Starting Slices.
[.[32m OK .[0m] Reached target Slices.
[ 1.456909] systemd[1]: Reached target Slices.
[ 1.456933] systemd[1]: Starting Timers.
[.[32m OK .[0m] Reached target Timers.
[ 1.456992] systemd[1]: Reached target Timers.
[ 1.457030] systemd[1]: Starting udev Kernel Socket.
[.[32m OK .[0m] Listening on udev Kernel Socket.
[ 1.457158] systemd[1]: Listening on udev Kernel Socket.
[ 1.457189] systemd[1]: Starting udev Control Socket.
[.[32m OK .[0m] Listening on udev Control Socket.
[ 1.457309] systemd[1]: Listening on udev Control Socket.
[ 1.457340] systemd[1]: Starting Encrypted Volumes.
[.[32m OK .[0m] Reached target Encrypted Volumes.
[ 1.457397] systemd[1]: Reached target Encrypted Volumes.
[ 1.457435] systemd[1]: Starting Dispatch Password Requests to
Console Directory Watch.
[ 1.457559] systemd[1]: Started Dispatch Password Requests to Console
Directory Watch.
[ 1.457588] systemd[1]: Starting Paths.
[.[32m OK .[0m] Reached target Paths.
[ 1.457650] systemd[1]: Reached target Paths.
[ 1.457678] systemd[1]: Starting Journal Socket.
[.[32m OK .[0m] Listening on Journal Socket.
[ 1.457870] systemd[1]: Listening on Journal Socket.
[ 1.458143] systemd[1]: Starting dracut cmdline hook...
Starting dracut cmdline hook...
[ 1.459277] systemd[1]: Starting Create list of required static
device nodes for the current kernel...
Starting Create list of required static device nodes...rrent
kernel...
[ 1.460494] systemd[1]: Starting Sockets.
[.[32m OK .[0m] Reached target Sockets.
[ 1.460565] systemd[1]: Reached target Sockets.
[ 1.460598] systemd[1]: Starting Journal Service...
Starting Journal Service...
[.[32m OK .[0m] Started Journal Service.
[ 1.461784] systemd[1]: Started Journal Service.
Starting Apply Kernel Variables...
[.[32m OK .[0m] Reached target Swap.
[.[32m OK .[0m] Reached target Local File Systems.
[.[32m OK .[0m] Started Create list of required static device nodes
...current kernel.
Starting Create static device nodes in /dev...
[.[32m OK .[0m] Started Apply Kernel Variables.
[.[32m OK .[0m] Started Create static device nodes in /dev.
[.[32m OK .[0m] Started dracut cmdline hook.
Starting dracut pre-udev hook...
[ 1.866137] blkfront: xvda: flush diskcache: enabled; persistent
grants: enabled; indirect descriptors: enabled;
[ 1.868900] xvda: unknown partition table
[ 1.887411] blkfront: xvdb: flush diskcache: enabled; persistent
grants: enabled; indirect descriptors: enabled;
[ 1.917589] xvdb: unknown partition table
[ 1.919621] blkfront: xvdd: barrier or flush: disabled; persistent
grants: enabled; indirect descriptors: enabled;
[ 1.920735] xvdd: unknown partition table
[ 1.922111] blkfront: xvdc: flush diskcache: enabled; persistent
grants: enabled; indirect descriptors: enabled;
[ 1.923037] xvdc: xvdc1 xvdc2
[ 1.923381] Setting capacity to 819200
[ 1.923389] xvdd: detected capacity change from 0 to 419430400
[ 1.990606] bio: create slab <bio-1> at 1
[.[32m OK .[0m] Started dracut pre-udev hook.
Starting udev Kernel Device Manager...
[ 2.094528] systemd-udevd[205]: starting version 208
[.[32m OK .[0m] Started udev Kernel Device Manager.
Starting dracut pre-trigger hook...
[.[32m OK .[0m] Found device /dev/mapper/dmroot.
[.[32m OK .[0m] Started dracut pre-trigger hook.
Starting udev Coldplug all Devices...
[.[32m OK .[0m] Started udev Coldplug all Devices.
Starting dracut initqueue hook...
[.[32m OK .[0m] Reached target System Initialization.
[.[32m OK .[0m] Reached target Basic System.
[.[32m OK .[0m] Started dracut initqueue hook.
Starting dracut pre-mount hook...
[.[32m OK .[0m] Started dracut pre-mount hook.
Mounting /sysroot...
[ 2.509703] EXT4-fs (dm-0): mounted filesystem with ordered data
mode. Opts: (null)
[.[32m OK .[0m] Mounted /sysroot.
[.[32m OK .[0m] Reached target Initrd Root File System.
Starting Reload Configuration from the Real Root...
[.[32m OK .[0m] Started Reload Configuration from the Real Root.
[.[32m OK .[0m] Reached target Initrd File Systems.
[.[32m OK .[0m] Reached target Initrd Default Target.
[ 2.671098] dracut-pre-pivot[365]: mount: /dev/xvdd is
write-protected, mounting read-only
[ 2.672145] kjournald starting. Commit interval 5 seconds
[ 2.672199] EXT3-fs (xvdd): mounted filesystem with ordered data mode
Generating "/run/initramfs/rdsosreport.txt"
Entering emergency mode. Exit the shell to continue.
Type "journalctl" to view system logs.
You might want to save "/run/initramfs/rdsosreport.txt" to a USB stick
or /boot
after mounting them and attach it to a bug report.
:/#
I tried to list the files that are created on the first startup (as I
said, once the VM has been started once, I can start it sucessfully with
any kernel):
$ sudo find /mnt/vm/ -newer /mnt/vm/timestamp
/mnt/vm/
/mnt/vm/home
/mnt/vm/etc
/mnt/vm/etc/os-release
/mnt/vm/etc/xdg/autostart
/mnt/vm/etc/xdg/autostart/nm-applet.desktop
/mnt/vm/etc/resolv.conf
/mnt/vm/etc/mtab
/mnt/vm/etc/sysconfig
/mnt/vm/etc/sysconfig/clock
/mnt/vm/etc/udev
/mnt/vm/etc/udev/hwdb.bin
/mnt/vm/etc/hosts
/mnt/vm/etc/ld.so.cache
/mnt/vm/var
/mnt/vm/var/lib/systemd
/mnt/vm/var/lib/systemd/coredump
/mnt/vm/var/lib/systemd/random-seed
/mnt/vm/var/lib/systemd/timers
/mnt/vm/var/lib/systemd/timers/stamp-man-db.timer
/mnt/vm/var/lib/systemd/timers/stamp-logrotate.timer
/mnt/vm/var/lib/systemd/timers/stamp-shadow.timer
/mnt/vm/var/lib/systemd/catalog
/mnt/vm/var/lib/systemd/catalog/database
/mnt/vm/var/lib/qubes
/mnt/vm/var/lib/qubes/first-boot-completed
/mnt/vm/var/cache/ldconfig
/mnt/vm/var/cache/ldconfig/aux-cache
/mnt/vm/var/log
/mnt/vm/var/log/journal
/mnt/vm/var/log/journal/cf2c099ffa9440dc960e8589ee84cfdd
/mnt/vm/var/log/journal/cf2c099ffa9440dc960e8589ee84cfdd/system.journal
/mnt/vm/var/log/journal/cf2c099ffa9440dc960e8589ee84cfdd/user-1000.journal
/mnt/vm/var/log/lastlog
/mnt/vm/var/log/btmp
/mnt/vm/var/log/wtmp
>>> *Uploaded packages:*
>>> I uploaded all the packages to
>>
http://olivier.medoc.free.fr/archlinux/pkgs/. One can add this qubes
>> agent repository to his archlinux template the following way:
>>> Add the following to /etc/pacman.conf:
>>> [qubes]
>>> Server =
http://olivier.medoc.free.fr/archlinux/pkgs/
>>> Potential package signature and verification issues have still to be
>> fixed. Currently you need to import my signature key:
>>> # pacman-key --recv-key C1833B9C
>>> # pacman-key --lsign-key C1833B9C
>>> Key signature:
>>> pub 2048R/C1833B9C 2014-03-27 [expires: 2016-03-26]
>>> Key fingerprint = D85E E12F 9678 51CC F433 515A 2043 E7AC C183 3B9C
>>> uid Olivier MEDOC (Qubes-OS signing key)
>> <
o_m...@yahoo.fr>
> Do you want to include this repo by default? I assume that "package signature
> and verification issues" simply means new key for those packages, right?
> I think it is very close to the moment where I can upload archlinux template
> rpm to qubes-templates-community repository. The only remaining need is some
> way to update qubes packages (=repo with updates).
Yes it is only about testing if it really reject unsigned package and
finding how renewing the keys in 2 years automatically.
Of course I can include it by default by replacing the local repository
created for installation purposes.