Fixed bug in chroot mount preparation (--rslave not occurring)
This commit is contained in:
parent
065546debf
commit
7deede64eb
|
@ -20,6 +20,8 @@ What you can get optionally:
|
||||||
* LUKS
|
* LUKS
|
||||||
* EFI secure boot
|
* EFI secure boot
|
||||||
* Initramfs (compiled into the kernel for EFIstub)
|
* Initramfs (compiled into the kernel for EFIstub)
|
||||||
|
* Preconfigured sshd
|
||||||
|
* Ansible (packages, user, ssh)
|
||||||
|
|
||||||
What you will **NOT** get: (i.e. you will have to do it yourself)
|
What you will **NOT** get: (i.e. you will have to do it yourself)
|
||||||
|
|
||||||
|
|
|
@ -240,7 +240,7 @@ download_stage3() {
|
||||||
|| die "Checksum mismatch!"
|
|| die "Checksum mismatch!"
|
||||||
|
|
||||||
# Create verification file in case the script is restarted
|
# Create verification file in case the script is restarted
|
||||||
touch_or_die "$CURRENT_STAGE3_VERIFIED"
|
touch_or_die 0644 "$CURRENT_STAGE3_VERIFIED"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -287,16 +287,18 @@ env_update() {
|
||||||
|| die "Error in env-update"
|
|| die "Error in env-update"
|
||||||
source /etc/profile \
|
source /etc/profile \
|
||||||
|| die "Could not source /etc/profile"
|
|| die "Could not source /etc/profile"
|
||||||
|
umask 0077
|
||||||
}
|
}
|
||||||
|
|
||||||
mkdir_or_die() {
|
mkdir_or_die() {
|
||||||
mkdir -p "$1" \
|
mkdir -m "$1" -p "$2" \
|
||||||
|| die "Could not create directory '$1'"
|
|| die "Could not create directory '$2'"
|
||||||
}
|
}
|
||||||
|
|
||||||
touch_or_die() {
|
touch_or_die() {
|
||||||
touch "$1" \
|
touch "$2" \
|
||||||
|| die "Could not touch '$1'"
|
|| die "Could not touch '$2'"
|
||||||
|
chmod "$1" "$2"
|
||||||
}
|
}
|
||||||
|
|
||||||
gentoo_chroot() {
|
gentoo_chroot() {
|
||||||
|
@ -321,10 +323,12 @@ gentoo_chroot() {
|
||||||
(
|
(
|
||||||
mountpoint -q -- "$ROOT_MOUNTPOINT/proc" || mount -t proc /proc "$ROOT_MOUNTPOINT/proc" || exit 1
|
mountpoint -q -- "$ROOT_MOUNTPOINT/proc" || mount -t proc /proc "$ROOT_MOUNTPOINT/proc" || exit 1
|
||||||
mountpoint -q -- "$ROOT_MOUNTPOINT/tmp" || mount --rbind /tmp "$ROOT_MOUNTPOINT/tmp" || exit 1
|
mountpoint -q -- "$ROOT_MOUNTPOINT/tmp" || mount --rbind /tmp "$ROOT_MOUNTPOINT/tmp" || exit 1
|
||||||
mountpoint -q -- "$ROOT_MOUNTPOINT/sys" || mount --rbind /sys "$ROOT_MOUNTPOINT/sys" || exit 1
|
mountpoint -q -- "$ROOT_MOUNTPOINT/sys" || {
|
||||||
mountpoint -q -- "$ROOT_MOUNTPOINT/sys" || mount --make-rslave "$ROOT_MOUNTPOINT/sys" || exit 1
|
mount --rbind /sys "$ROOT_MOUNTPOINT/sys" &&
|
||||||
mountpoint -q -- "$ROOT_MOUNTPOINT/dev" || mount --rbind /dev "$ROOT_MOUNTPOINT/dev" || exit 1
|
mount --make-rslave "$ROOT_MOUNTPOINT/sys"; } || exit 1
|
||||||
mountpoint -q -- "$ROOT_MOUNTPOINT/dev" || mount --make-rslave "$ROOT_MOUNTPOINT/dev" || exit 1
|
mountpoint -q -- "$ROOT_MOUNTPOINT/dev" || {
|
||||||
|
mount --rbind /dev "$ROOT_MOUNTPOINT/dev" &&
|
||||||
|
mount --make-rslave "$ROOT_MOUNTPOINT/dev"; } || exit 1
|
||||||
) || die "Could not mount virtual filesystems"
|
) || die "Could not mount virtual filesystems"
|
||||||
|
|
||||||
# Execute command
|
# Execute command
|
||||||
|
|
|
@ -89,10 +89,10 @@ main_install_gentoo_in_chroot() {
|
||||||
env_update
|
env_update
|
||||||
|
|
||||||
# Prepare /etc/portage for autounmask
|
# Prepare /etc/portage for autounmask
|
||||||
mkdir_or_die "/etc/portage/package.use"
|
mkdir_or_die 0755 "/etc/portage/package.use"
|
||||||
touch_or_die "/etc/portage/package.use/zz-autounmask"
|
touch_or_die 0644 "/etc/portage/package.use/zz-autounmask"
|
||||||
mkdir_or_die "/etc/portage/package.keywords"
|
mkdir_or_die 0755 "/etc/portage/package.keywords"
|
||||||
touch_or_die "/etc/portage/package.keywords/zz-autounmask"
|
touch_or_die 0644 "/etc/portage/package.keywords/zz-autounmask"
|
||||||
|
|
||||||
# Install git (for git portage overlays)
|
# Install git (for git portage overlays)
|
||||||
einfo "Installing git"
|
einfo "Installing git"
|
||||||
|
|
Loading…
Reference in New Issue