I'm looking at the current branch, currently at 999.201608060237, installed by 'add system image http://dev.packages.vyos.net/iso/current/amd64/vyos-999.201608060237-amd64.iso'
Because of the way I've had to install VyOS on my machine, it must boot from sdb. However, something seems to be hardcoding sda, so the boot messages look like this:
Loading, please wait... [ 3.899420] sd 0:0:0:0: [sda] No Caching mode page found [ 3.905383] sd 0:0:0:0: [sda] Assuming drive cache: write through mount: mounting /dev/sda2 on /live/persistence/ failed: No such device Welcome to Debian GNU/Linux 8 (jessie)! Expecting device dev-ttyS1.device... [ OK ] Reached target Remote File Systems (Pre). [ OK ] Reached target Paths. [ OK ] Set up automount Arbitrary Executable File Formats F...utomount Point. [ OK ] Reached target Encrypted Volumes. [ OK ] Reached target Swap. [ OK ] Created slice Root Slice. [ OK ] Created slice User and Session Slice. ...
This also means that a lot of the config files that should be persistent (such as /opt/vyatta/etc/config/scripts/vyatta-postconfig-bootup.script) are not.
Another symptom is that /opt/vyatta/sbin/vyos-persistpath prints the following:
/lib/live/mount/persistence/
Notice that $boot_device (which should appear after that final slash) is empty, because no mount matches 'upperdir=/live/persistence/[^/]*/boot'.
In fact, there is no sdb2, either. Here's the output of lsblk:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 1 7.3G 0 disk ├─sda1 8:1 1 500M 0 part ├─sda2 8:2 1 745M 0 part └─sda3 8:3 1 6.1G 0 part sdb 8:16 0 14.8G 0 disk └─sdb1 8:17 0 14.8G 0 part /lib/live/mount/persistence loop0 7:0 0 242.7M 1 loop /lib/live/mount/rootfs/999.201608060237-.squash
And here are the contents of /proc/mounts:
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 tmpfs /run tmpfs rw,nosuid,relatime,size=809916k,mode=755 0 0 /dev/sdb1 /lib/live/mount/persistence ext4 rw,noatime,data=ordered 0 0 /dev/loop0 /lib/live/mount/rootfs/999.201608060237-.squashfs squashfs ro,noatime 0 0 tmpfs /lib/live/mount/overlay tmpfs rw,relatime 0 0 overlay / overlay rw,noatime,lowerdir=/live/rootfs/999.201608060237-.squashfs/,upperdir=/live/persistence/boot/999.201608060237-current/rw,workdir=/live/persistence/boot/999.201608060237-current/work 0 0 /dev/sdb1 /opt/vyatta/etc/config ext4 rw,noatime,data=ordered 0 0 devtmpfs /dev devtmpfs rw,nosuid,size=10240k,nr_inodes=504408,mode=755 0 0 securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0 tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0 devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0 tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0 tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0 cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd 0 0 pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0 cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0 cgroup /sys/fs/cgroup/cpu cgroup rw,nosuid,nodev,noexec,relatime,cpu 0 0 cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0 systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=23,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0 hugetlbfs /dev/hugepages hugetlbfs rw,relatime 0 0 mqueue /dev/mqueue mqueue rw,relatime 0 0 debugfs /sys/kernel/debug debugfs rw,relatime 0 0 tmpfs /tmp tmpfs rw,nosuid,nodev,relatime 0 0 fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0 none /opt/vyatta/config tmpfs rw,nosuid,nodev,relatime,nr_inodes=0,mode=775 0 0 /dev/sdb1 /boot ext4 rw,noatime,data=ordered 0 0 /dev/sdb1 /boot/grub ext4 rw,noatime,data=ordered 0 0 /dev/sdb1 /lib/live/mount/persistence/boot/999.201608060237-current/grub ext4 rw,noatime,data=ordered 0 0 binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0
I'm not quite sure how this is intended to work, at this point...