find chrome os partitions
This commit is contained in:
parent
97d700e3e0
commit
5cac377c71
|
@ -45,6 +45,28 @@ find_rootfs_partitions() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
find_chromeos_partitions() {
|
||||||
|
local roota_partitions="$(cgpt find -l ROOT-A)"
|
||||||
|
local rootb_partitions="$(cgpt find -l ROOT-B)"
|
||||||
|
|
||||||
|
if [ "$roota_partitions" ]; then
|
||||||
|
for partition in $roota_partitions; do
|
||||||
|
echo "${partition}:ChromeOS_ROOT-A:CrOS"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$rootb_partitions" ]; then
|
||||||
|
for partition in $rootb_partitions; do
|
||||||
|
echo "${partition}:ChromeOS_ROOT-B:CrOS"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
find_all_partitions() {
|
||||||
|
echo "$(find_chromeos_partitions)"
|
||||||
|
echo "$(find_rootfs_partitions)"
|
||||||
|
}
|
||||||
|
|
||||||
#from original bootstrap.sh
|
#from original bootstrap.sh
|
||||||
move_mounts() {
|
move_mounts() {
|
||||||
local base_mounts="/sys /proc /dev"
|
local base_mounts="/sys /proc /dev"
|
||||||
|
@ -124,10 +146,16 @@ get_selection() {
|
||||||
for rootfs_partition in $rootfs_partitions; do
|
for rootfs_partition in $rootfs_partitions; do
|
||||||
local part_path=$(echo $rootfs_partition | cut -d ":" -f 1)
|
local part_path=$(echo $rootfs_partition | cut -d ":" -f 1)
|
||||||
local part_name=$(echo $rootfs_partition | cut -d ":" -f 2)
|
local part_name=$(echo $rootfs_partition | cut -d ":" -f 2)
|
||||||
|
local part_flags=$(echo $rootfs_partition | cut -d ":" -f 3)
|
||||||
|
|
||||||
if [ "$selection" = "$i" ]; then
|
if [ "$selection" = "$i" ]; then
|
||||||
echo "selected $part_path"
|
echo "selected $part_path"
|
||||||
|
if [ "$part_flags" = "CrOS" ]; then
|
||||||
|
echo "booting chrome os partition"
|
||||||
|
boot_chromeos $part_path
|
||||||
|
else
|
||||||
boot_target $part_path
|
boot_target $part_path
|
||||||
|
fi
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -154,17 +182,23 @@ boot_target() {
|
||||||
exec /sbin/init < "$tty" >> "$tty" 2>&1
|
exec /sbin/init < "$tty" >> "$tty" 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boot_chromeos() {
|
||||||
|
echo "not implemented yet :("
|
||||||
|
sleep 5
|
||||||
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
echo "starting the shimboot bootloader"
|
echo "starting the shimboot bootloader"
|
||||||
|
|
||||||
enable_debug_console "/dev/pts/1"
|
enable_debug_console "/dev/pts/1"
|
||||||
|
|
||||||
local rootfs_partitions=$(find_rootfs_partitions)
|
local valid_partitions="$(find_all_partitions)"
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
clear
|
clear
|
||||||
print_selector "${rootfs_partitions}"
|
print_selector "${valid_partitions}"
|
||||||
if get_selection "${rootfs_partitions}"; then
|
|
||||||
|
if get_selection "${valid_partitions}"; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
Loading…
Reference in New Issue