Alright fine we'll use chroot
This commit is contained in:
parent
5bedbeec62
commit
9ea05a7b50
@ -79,7 +79,6 @@ Usage: $_name [OPTION]...
|
||||
|
||||
-h Print this help text
|
||||
-c Perform the Gentoo half of installation. Must be invoked from a chroot
|
||||
or a systemd-nspawn container
|
||||
-d Perform the second Gentoo half of installation from a chroot
|
||||
-v Print more status messages. Stacks
|
||||
|
||||
@ -193,21 +192,15 @@ build-gentoo() {
|
||||
"${EDITOR:-vim}" "$_optdest/etc/fstab"
|
||||
|
||||
# Now we need to pivot into a chroot and finish configuration natively
|
||||
# Buuuut... since we're using systemd, we get to just spawn a systemd-nspawn container
|
||||
popd
|
||||
log "Pivoting to container for more setup"
|
||||
cp "$0" "$_optdest/gentoostrap.sh"
|
||||
for dir in proc sys dev; do
|
||||
umount "$_optdest/$dir" || :
|
||||
done
|
||||
sudo systemd-nspawn --directory="$_optdest" /gentoostrap.sh -c
|
||||
|
||||
# The nspawn container sadly cannot manipulate the environment entirely, so we need to now do an ACTUAL chroot to install GRUB
|
||||
mount --types proc /proc "$_optdest/proc"
|
||||
mount --rbind /sys "$_optdest/sys"
|
||||
mount --make-rslave "$_optdest/sys"
|
||||
mount --rbind /dev "$_optdest/dev"
|
||||
mount --make-rslave "$_optdest/dev"
|
||||
chroot "$_optdest" /gentoostrap.sh -c
|
||||
chroot "$_optdest" /gentoostrap.sh -d
|
||||
log "Configuration complete! You should be good to reboot now."
|
||||
}
|
||||
@ -354,7 +347,7 @@ main() {
|
||||
# TODO: That
|
||||
# Validate core program dependencies
|
||||
log "Validating dependencies" 2
|
||||
if ! has basename chroot curl sha512sum systemd-nspawn tar; then
|
||||
if ! has basename chroot curl sha512sum tar; then
|
||||
error "Failed to find program: $_return" 1
|
||||
fi
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user