Page MenuHomeVyOS Platform

Adding variable vyos_persistence_dir (and improve variable vyos_rootfs_dir)
Closed, ResolvedPublicFEATURE REQUEST

Description

As a spinoff of https://vyos.dev/T5690 this feature request adds variable vyos_persistence_dir:

if test -z "$vyos_persistence_dir" ; then
    UNION_NAME=$(cat /proc/cmdline | sed -e s+^.*vyos-union=++ | sed -e 's/ .*$//')
    declare -x -r vyos_persistence_dir="/usr/lib/live/mount/persistence/${UNION_NAME}"
fi

And improves the original definition of variable vyos_rootfs_dir by only selecting loop0 in case there are multiple squashfs mounts available:

if test -z "$vyos_rootfs_dir" ; then
    ROOTFS=$(mount -t squashfs | grep loop0 | cut -d' ' -f3)
    declare -x -r vyos_rootfs_dir="${ROOTFS}"
fi

The above changes goes into https://github.com/vyos/vyatta-op/blob/current/etc/default/vyatta.in

Details

Difficulty level
Unknown (require assessment)
Version
-
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Improvement (missing useful functionality)

Event Timeline

Verified with VyOS 1.5-rolling-202311081451.

Everything seems to be working as expected.

Regular install (just hitting enter for all options during "add system image"):

vyos@vyos:~$ export | grep -i 'rootfs\|persistence'
declare -rx vyos_persistence_dir="/usr/lib/live/mount/persistence//boot/1.5-rolling-202311081451"
declare -rx vyos_rootfs_dir="/usr/lib/live/mount/rootfs/1.5-rolling-202311081451.squashfs"
vyos@vyos:~$ ls -la ${vyos_rootfs_dir}
total 4
drwxr-xr-x  18 root root  334 Nov  8 17:17 .
drwxr-xr-x   3 root root 4096 Nov  8 18:45 ..
lrwxrwxrwx   1 root root    7 Nov  8 15:53 bin -> usr/bin
drwxr-xr-x   3 root root  197 Nov  8 17:17 boot
drwxr-xr-x   2 root root    3 Nov  8 17:17 config
drwxr-xr-x   4 root root  191 Nov  8 17:17 dev
drwxr-xr-x 132 root root 4242 Nov  8 17:17 etc
drwxr-xr-x   2 root root    3 Nov  8 17:17 home
lrwxrwxrwx   1 root root    7 Nov  8 15:53 lib -> usr/lib
lrwxrwxrwx   1 root root    9 Nov  8 15:53 lib32 -> usr/lib32
lrwxrwxrwx   1 root root    9 Nov  8 15:53 lib64 -> usr/lib64
lrwxrwxrwx   1 root root   10 Nov  8 15:53 libx32 -> usr/libx32
drwxr-xr-x   2 root root    3 Nov  8 15:53 media
drwxr-xr-x   2 root root    3 Nov  8 15:53 mnt
drwxr-xr-x   3 root root   29 Nov  8 17:17 opt
drwxr-xr-x   2 root root    3 Sep 29 22:04 proc
drwx------   4 root root   72 Nov  8 17:17 root
drwxr-xr-x  25 root root  397 Nov  8 17:17 run
lrwxrwxrwx   1 root root    8 Nov  8 15:53 sbin -> usr/sbin
drwxr-xr-x   4 root root   42 Nov  8 17:17 srv
drwxr-xr-x   2 root root    3 Sep 29 22:04 sys
drwxrwxrwt   2 root root    3 Nov  8 17:17 tmp
drwxr-xr-x  14 root root  217 Nov  8 15:53 usr
drwxr-xr-x  13 root root  183 Nov  8 17:17 var
vyos@vyos:~$ ls -la ${vyos_persistence_dir}
total 432088
drwxr-xr-x 5 root root      4096 Nov  8 18:46 .
drwxr-xr-x 7 root root      4096 Nov  8 18:43 ..
-r--r--r-- 1 root root 399290368 Nov  8 17:17 1.5-rolling-202311081451.squashfs
-rw-r--r-- 1 root root    154776 Nov  3 08:01 config-6.1.61-amd64-vyos
drwxr-xr-x 5 root root      4096 Nov  8 18:43 grub
lrwxrwxrwx 1 root root        28 Nov  8 17:17 initrd.img -> initrd.img-6.1.61-amd64-vyos
-rw-r--r-- 1 root root  33349759 Nov  8 17:17 initrd.img-6.1.61-amd64-vyos
drwxr-xr-x 9 root root      4096 Nov  8 18:45 rw
-rw-r--r-- 1 root root   3416691 Nov  3 08:01 System.map-6.1.61-amd64-vyos
lrwxrwxrwx 1 root root        25 Nov  8 17:17 vmlinuz -> vmlinuz-6.1.61-amd64-vyos
-rw-r--r-- 1 root root   6215744 Nov  3 08:01 vmlinuz-6.1.61-amd64-vyos
drwxr-xr-x 3 root root      4096 Nov  8 18:45 work

Install with custom name "1.5-CUSTOM-231108":

vyos@vyos:~$ export | grep -i 'rootfs\|persistence'
declare -rx vyos_persistence_dir="/usr/lib/live/mount/persistence//boot/1.5-CUSTOM-231108"
declare -rx vyos_rootfs_dir="/usr/lib/live/mount/rootfs/1.5-rolling-202311081451.squashfs"
vyos@vyos:~$ ls -la ${vyos_rootfs_dir}
total 4
drwxr-xr-x  18 root root  334 Nov  8 17:17 .
drwxr-xr-x   3 root root 4096 Nov  8 18:57 ..
lrwxrwxrwx   1 root root    7 Nov  8 15:53 bin -> usr/bin
drwxr-xr-x   3 root root  197 Nov  8 17:17 boot
drwxr-xr-x   2 root root    3 Nov  8 17:17 config
drwxr-xr-x   4 root root  191 Nov  8 17:17 dev
drwxr-xr-x 132 root root 4242 Nov  8 17:17 etc
drwxr-xr-x   2 root root    3 Nov  8 17:17 home
lrwxrwxrwx   1 root root    7 Nov  8 15:53 lib -> usr/lib
lrwxrwxrwx   1 root root    9 Nov  8 15:53 lib32 -> usr/lib32
lrwxrwxrwx   1 root root    9 Nov  8 15:53 lib64 -> usr/lib64
lrwxrwxrwx   1 root root   10 Nov  8 15:53 libx32 -> usr/libx32
drwxr-xr-x   2 root root    3 Nov  8 15:53 media
drwxr-xr-x   2 root root    3 Nov  8 15:53 mnt
drwxr-xr-x   3 root root   29 Nov  8 17:17 opt
drwxr-xr-x   2 root root    3 Sep 29 22:04 proc
drwx------   4 root root   72 Nov  8 17:17 root
drwxr-xr-x  25 root root  397 Nov  8 17:17 run
lrwxrwxrwx   1 root root    8 Nov  8 15:53 sbin -> usr/sbin
drwxr-xr-x   4 root root   42 Nov  8 17:17 srv
drwxr-xr-x   2 root root    3 Sep 29 22:04 sys
drwxrwxrwt   2 root root    3 Nov  8 17:17 tmp
drwxr-xr-x  14 root root  217 Nov  8 15:53 usr
drwxr-xr-x  13 root root  183 Nov  8 17:17 var
vyos@vyos:~$ ls -la ${vyos_persistence_dir}
total 432092
drwxr-xr-x 5 root root      4096 Nov  8 18:57 .
drwxr-xr-x 8 root root      4096 Nov  8 18:55 ..
-r--r--r-- 1 root root 399290368 Nov  8 17:17 1.5-rolling-202311081451.squashfs
-rw-r--r-- 1 root root    154776 Nov  3 08:01 config-6.1.61-amd64-vyos
drwxr-xr-x 5 root root      4096 Nov  8 18:55 grub
lrwxrwxrwx 1 root root        28 Nov  8 17:17 initrd.img -> initrd.img-6.1.61-amd64-vyos
-rw-r--r-- 1 root root  33349759 Nov  8 17:17 initrd.img-6.1.61-amd64-vyos
drwxr-xr-x 9 root root      4096 Nov  8 18:57 rw
-rw-r--r-- 1 root root   3416691 Nov  3 08:01 System.map-6.1.61-amd64-vyos
lrwxrwxrwx 1 root root        25 Nov  8 17:17 vmlinuz -> vmlinuz-6.1.61-amd64-vyos
-rw-r--r-- 1 root root   6215744 Nov  3 08:01 vmlinuz-6.1.61-amd64-vyos
drwxr-xr-x 3 root root      4096 Nov  8 18:57 work