From e95d56a5d09561758b9e0f9adce1d7e6e70c54c0 Mon Sep 17 00:00:00 2001 From: Aiden McClelland Date: Fri, 16 Jun 2023 18:03:50 -0600 Subject: [PATCH] fix update-grub2 --- backend/src/disk/util.rs | 2 +- backend/src/os_install/mod.rs | 12 ++++++++++++ build/lib/depends | 1 + build/lib/scripts/grub-probe-eos | 26 +++----------------------- 4 files changed, 17 insertions(+), 24 deletions(-) diff --git a/backend/src/disk/util.rs b/backend/src/disk/util.rs index b65842a7c..282edc380 100644 --- a/backend/src/disk/util.rs +++ b/backend/src/disk/util.rs @@ -254,7 +254,7 @@ pub async fn list(os: &OsPartitionInfo) -> Result, Error> { parts: BTreeSet, internal: bool, } - let disk_guids = dbg!(pvscan().await?); + let disk_guids = pvscan().await?; let disks = tokio_stream::wrappers::ReadDirStream::new( tokio::fs::read_dir(DISK_PATH) .await diff --git a/backend/src/os_install/mod.rs b/backend/src/os_install/mod.rs index c67be5ac6..3edfa2d97 100644 --- a/backend/src/os_install/mod.rs +++ b/backend/src/os_install/mod.rs @@ -265,6 +265,12 @@ pub async fn execute( .invoke(crate::ErrorKind::OpenSsh) .await?; + let dev = MountGuard::mount( + &Bind::new(rootfs.as_ref()), + current.join("media/embassy/embassyfs"), + MountType::ReadOnly, + ) + .await?; let dev = MountGuard::mount(&Bind::new("/dev"), current.join("dev"), ReadWrite).await?; let proc = MountGuard::mount(&Bind::new("/proc"), current.join("proc"), ReadWrite).await?; let sys = MountGuard::mount(&Bind::new("/sys"), current.join("sys"), ReadWrite).await?; @@ -297,6 +303,12 @@ pub async fn execute( .invoke(crate::ErrorKind::Grub) .await?; + Command::new("chroot") + .arg(¤t) + .arg("update-grub2") + .invoke(crate::ErrorKind::Grub) + .await?; + dev.unmount(false).await?; if let Some(efivarfs) = efivarfs { efivarfs.unmount(false).await?; diff --git a/build/lib/depends b/build/lib/depends index 5b57dcf52..3d91e37ed 100644 --- a/build/lib/depends +++ b/build/lib/depends @@ -25,6 +25,7 @@ libavahi-client3 lm-sensors lvm2 magic-wormhole +man-db ncdu net-tools network-manager diff --git a/build/lib/scripts/grub-probe-eos b/build/lib/scripts/grub-probe-eos index 7ebdff009..ed37eefaa 100755 --- a/build/lib/scripts/grub-probe-eos +++ b/build/lib/scripts/grub-probe-eos @@ -3,30 +3,10 @@ ARGS= for ARG in $@; do - if [ "${ARG%%[!/]*}" = "/" ]; then - - OPTIONS= - - path="$ARG" - while true; do - if FSTYPE=$( findmnt -n -o FSTYPE "$path" ); then - if [ "$FSTYPE" = "overlay" ]; then - OPTIONS=$(findmnt -n -o OPTIONS "$path") - break - else - break - fi - fi - if [ "$path" = "/" ]; then break; fi - path=$(dirname "$path") - done - - if LOWERDIR=$(echo "$OPTIONS" | grep -m 1 -oP 'lowerdir=\K[^,]+'); then - #echo "[DEBUG] Overlay filesystem detected ${ARG} --> ${LOWERDIR}${ARG%*/}" 1>&2 - ARG=/media/embassy/embassyfs"${ARG%*/}" + if [ -d "/media/embassy/embassyfs" ] && [ "$ARG" = "/" ]; then + ARG=/media/embassy/embassyfs fi - fi - ARGS="$ARGS $ARG" + ARGS="$ARGS $ARG" done grub-probe-default $ARGS