blob: a654b87a6654ddd764a989c46425b7a8429b6b98 (
plain) (
tree)
|
|
#!/bin/execlineb -S0
export PATH /bin
if { mount -a }
if { mkfifo /dev/esp.poll }
background {
fdclose 3
mdevd -C
}
if { modprobe ext4 }
if {
redirfd -r 0 /dev/esp.poll
redirfd -w 1 /dev/null
head -c 1
}
background {
importas -iu mdevd_pid !
kill $mdevd_pid
}
background { rm /dev/esp.poll }
if {
backtick -E diskname {
backtick -E diskpath {
backtick -E partpath {
backtick -E partname { readlink /dev/esp }
realpath /sys/class/block/${partname}
}
realpath ${partpath}/..
}
basename $diskpath
}
backtick -E rootdev {
pipeline { lsblk -lnpo PARTTYPE,NAME /dev/${diskname} }
awk "$1 == \"4f68bce3-e8cd-4db1-96e7-fbcaf984b709\" { print $2 }"
}
backtick -E hashdev {
pipeline { lsblk -lnpo PARTTYPE,NAME /dev/${diskname} }
awk "$1 == \"2c7357ed-ebd2-46d9-aec1-23d437ec2bf5\" { print $2 }"
}
importas -i roothash roothash
veritysetup open $rootdev root-verity $hashdev $roothash
}
background { rm /dev/esp }
if { mount /dev/mapper/root-verity /mnt }
if { mount --move /proc /mnt/proc }
if { mount --move /sys /mnt/sys }
if { mount --move /dev /mnt/dev }
switch_root /mnt
/etc/init
|