mirror of https://github.com/voidlizard/hbs2
59 lines
1.4 KiB
Scheme
59 lines
1.4 KiB
Scheme
(import ./hbs2-tests/integrational/tmux-env.ss)
|
|
|
|
|
|
(local image /home/dmz/backup/peer.hbs2.net/hbs2.squashfs)
|
|
|
|
(local lo-device [head [flatten [call:proc sudo losetup --show -fP image]]])
|
|
|
|
(local mount-point (sys:temp:dir))
|
|
|
|
println mount-point
|
|
|
|
(println "LOOP" space lo-device)
|
|
|
|
(println "mounted" space image space "at" space mount-point)
|
|
|
|
(local overlay-root (sys:temp:dir))
|
|
|
|
(local overlay-upper (sym (join :/ overlay-root :upper)))
|
|
(local overlay-work (sym (join :/ overlay-root :work)))
|
|
(local overlay-merged (sym (join :/ overlay-root :merged)))
|
|
|
|
(mkdir overlay-upper)
|
|
(mkdir overlay-work)
|
|
(mkdir overlay-merged)
|
|
|
|
(call:proc sudo mount -t squashfs -o ro lo-device mount-point)
|
|
|
|
(local mountopts
|
|
(sym (concat :lowerdir= mount-point
|
|
chr:comma
|
|
:upperdir= overlay-upper
|
|
chr:comma
|
|
:workdir= overlay-work
|
|
))
|
|
)
|
|
|
|
(println mountopts)
|
|
|
|
(call:proc:raw sudo mount -t overlay overlay -o mountopts overlay-merged)
|
|
|
|
(define *nspawn-extra-args
|
|
`[ ,(nbind (join :/ overlay-merged blocks)
|
|
/root/.local/share/hbs2/blocks)
|
|
,(nbind (join :/ overlay-merged refs)
|
|
/root/.local/share/hbs2/refs)
|
|
])
|
|
|
|
(println *nspawn-extra-args)
|
|
|
|
(run-shell)
|
|
|
|
(call:proc sudo umount overlay-merged)
|
|
(call:proc sudo umount mount-point)
|
|
(call:proc sudo losetup -d lo-device)
|
|
(call:proc sudo :rm -rf overlay-merged overlay-work overlay-root mount-point)
|
|
|
|
|
|
|