--- alx-src/trunk/alxinstall-ng/bin/alxinstall-ng.sh.in 2015/07/23 12:24:32 6833 +++ alx-src/trunk/alxinstall-ng/bin/alxinstall-ng.sh.in 2015/07/23 12:25:33 6834 @@ -600,6 +600,7 @@ local my_roothdd local grubconf=${INSTALLPATH}/boot/grub/grub.conf local grub2conf=/boot/grub/grub.cfg + local CONFIG # check for grub2 if [[ -f ${INSTALLPATH}/sbin/grub-mkconfig ]] @@ -619,10 +620,12 @@ echo "export GRUB_CMDLINE_LINUX_DEFAULT=\"${KERNELOPTS}\"" > ${INSTALLPATH}/etc/conf.d/grub || die echo "export GRUB_GFXPAYLOAD_LINUX=\"${GRUB2GFXPAYLOAD}\"" >> ${INSTALLPATH}/etc/conf.d/grub || die fi - echo 'grub-mkdevicemap' > ${INSTALLPATH}/root/.installrc || die - echo "LC_ALL=C grub-mkconfig -o ${grub2conf} &> /dev/null" >> ${INSTALLPATH}/root/.installrc || die - echo "grub-install --no-floppy ${HDD} &> /dev/null" >> ${INSTALLPATH}/root/.installrc || die - echo "exit 0" >> ${INSTALLPATH}/root/.installrc || die + CONFIG=${INSTALLPATH}/.installrc + clearconfig + addconfig 'grub-mkdevicemap' + addconfig "LC_ALL=C grub-mkconfig -o ${grub2conf} &> /dev/null" + addconfig "grub-install --no-floppy ${HDD} &> /dev/null" + addconfig "exit 0" # grub-legacy else @@ -650,63 +653,54 @@ my_roothdd="${ROOTHDD}" fi - : > ${grubconf} || die - echo "default 0" >> ${grubconf} || die - echo "timeout 3" >> ${grubconf} || die + CONFIG="${grubconf}" + clearconfig + addconfig "default 0" + addconfig "timeout 3" # using current root password - echo "password --md5 $(cat ${INSTALLPATH}/etc/shadow | grep root | cut -d: -f2)" >> ${grubconf} || die - - echo >> ${grubconf} || die - echo "# normal boot" >> ${grubconf} || die - echo "title ${KRNVER}" >> ${grubconf} || die - echo "root (hd0,0)" >> ${grubconf} || die - echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS}" >> ${grubconf} || die + addconfig "password --md5 $(cat ${INSTALLPATH}/etc/shadow | grep root | cut -d: -f2)" + addconfig + addconfig "# normal boot" + addconfig "title ${KRNVER}" + addconfig "root (hd0,0)" + addconfig "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS}" if is_initrd_supported then - echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die + addconfig "initrd /boot/${KRNINITRD}" fi - - echo >> ${grubconf} || die - echo "# admin boot" >> ${grubconf} || die - echo "title ${KRNVER} - Re-run hardware-detection" >> ${grubconf} || die - echo "lock" >> ${grubconf} || die - echo "root (hd0,0)" >> ${grubconf} || die - echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS} hardware-auto-detection" >> ${grubconf} || die + addconfig + addconfig "# admin boot" + addconfig "title ${KRNVER} - Re-run hardware-detection" + addconfig "lock" + addconfig "root (hd0,0)" + addconfig "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS} hardware-auto-detection" if is_initrd_supported then - echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die + addconfig "initrd /boot/${KRNINITRD}" fi - - echo >> ${grubconf} || die - echo "title ${KRNVER} - Reset *all* local settings" >> ${grubconf} || die - echo "lock" >> ${grubconf} || die - echo "root (hd0,0)" >> ${grubconf} || die - echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS} alx-reset-settings" >> ${grubconf} || die + addconfig + addconfig "title ${KRNVER} - Reset *all* local settings" + addconfig "lock" + addconfig "root (hd0,0)" + addconfig "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS} alx-reset-settings" if is_initrd_supported then - echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die + addconfig "initrd /boot/${KRNINITRD}" fi # write bootsector chrooted (lfs/magellan) - cat > ${INSTALLPATH}/root/.installrc << CHROOTEOF -/usr/sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null -root (hd0,0) -setup (hd0) -quit -EOF -exit 0 -CHROOTEOF + CONFIG=${INSTALLPATH}/.installrc + clearconfig + addconfig '/usr/sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null' + addconfig 'root (hd0,0)' + addconfig 'setup (hd0)' + addconfig 'quit' + addconfig 'EOF' + addconfig 'exit 0' fi - ## enters chroot - mount -t proc proc ${INSTALLPATH}/proc - mount -t sysfs sysfs ${INSTALLPATH}/sys - mount -o bind /dev ${INSTALLPATH}/dev - chroot ${INSTALLPATH} /bin/bash --rcfile /root/.installrc -i - umount ${INSTALLPATH}/proc - umount ${INSTALLPATH}/sys - umount ${INSTALLPATH}/dev - rm ${INSTALLPATH}/root/.installrc + ## enter chroot + enter_chroot_installrc } is_initrd_supported() @@ -759,21 +753,13 @@ clearconfig addconfig "options i810fb xres=1024 yres=768 bpp=16 mtrr=1 hsync1=30 hsync2=62 vsync1=30 vsync2=60" - cat > ${INSTALLPATH}/root/.installrc << CHROOTEOF -echo "MODULES=\"${FORMAT_FILESYSTEM} ${DISKMODS} ${OLDATAMODS} ${PATAMODS} ${SATAMODS} ${DRMMODS} ${FBMODS} ${OTHERMODS}\"" > /etc/conf.d/mkinitrd -mkinitrd -f /boot/$(readlink /boot/initrd) $(readlink /boot/vmlinuz | sed "s:kernel-::g") > /dev/null -exit 0 -CHROOTEOF - + CONFIG=${INSTALLPATH}/.installrc + clearconfig + addconfig 'echo "MODULES=\"${FORMAT_FILESYSTEM} ${DISKMODS} ${OLDATAMODS} ${PATAMODS} ${SATAMODS} ${DRMMODS} ${FBMODS} ${OTHERMODS}\"" > /etc/conf.d/mkinitrd' + addconfig 'mkinitrd -f /boot/$(readlink /boot/initrd) $(readlink /boot/vmlinuz | sed "s:kernel-::g") > /dev/null' + addconfig 'exit 0' ## enter chroot - mount -t proc proc ${INSTALLPATH}/proc - mount -t sysfs sysfs ${INSTALLPATH}/sys - mount -o bind /dev ${INSTALLPATH}/dev - chroot ${INSTALLPATH} /bin/bash --rcfile /root/.installrc -i - umount ${INSTALLPATH}/proc - umount ${INSTALLPATH}/sys - umount ${INSTALLPATH}/dev - rm ${INSTALLPATH}/root/.installrc + enter_chroot_installrc } is_uuid_supported()