Add an automatic install option to the initramfs.

This commit is contained in:
Michael Aldridge
2016-04-19 01:21:38 -05:00
parent 04bf2e873b
commit 76ea7500b2
4 changed files with 423 additions and 2 deletions

View File

@@ -30,7 +30,7 @@ trap 'error_out $? $LINENO' INT TERM 0
umask 022
readonly REQUIRED_PKGS="base-files libgcc dash coreutils sed tar gawk syslinux grub-i386-efi grub-x86_64-efi squashfs-tools xorriso"
readonly INITRAMFS_PKGS="binutils xz device-mapper"
readonly INITRAMFS_PKGS="binutils xz device-mapper dhclient dracut-network"
readonly PROGNAME=$(basename $0)
info_msg() {
@@ -103,6 +103,11 @@ copy_dracut_files() {
cp dracut/* $1/usr/lib/dracut/modules.d/01vmklive/
}
copy_autoinstaller_files() {
mkdir -p $1/usr/lib/dracut/modules.d/01autoinstaller
cp autoinstaller/* $1/usr/lib/dracut/modules.d/01autoinstaller/
}
install_prereqs() {
copy_void_conf $VOIDHOSTDIR
XBPS_ARCH=$ARCH $XBPS_INSTALL_CMD -r $VOIDHOSTDIR $XBPS_REPOSITORY \
@@ -149,13 +154,14 @@ generate_initramfs() {
local _args
copy_dracut_files $ROOTFS
copy_autoinstaller_files $ROOTFS
if [ "$BASE_SYSTEM_PKG" = "base-system-systemd" ]; then
_args="--add systemd"
else
_args="--omit systemd"
fi
chroot $ROOTFS env -i /usr/bin/dracut -N --${INITRAMFS_COMPRESSION} \
--add-drivers "ahci" --force-add "vmklive" ${_args} "/boot/initrd" $KERNELVERSION
--add-drivers "ahci" --force-add "vmklive autoinstaller" ${_args} "/boot/initrd" $KERNELVERSION
[ $? -ne 0 ] && die "Failed to generate the initramfs"
mv $ROOTFS/boot/initrd $BOOT_DIR
@@ -172,6 +178,7 @@ cleanup_rootfs() {
fi
done
rm -r $ROOTFS/usr/lib/dracut/modules.d/01vmklive
rm -r $ROOTFS/usr/lib/dracut/modules.d/01autoinstaller
}
generate_isolinux_boot() {