change ssyslinux to use menu

This commit is contained in:
Tobias Powalowski 2010-06-03 18:18:01 +02:00
parent 1ad256c740
commit 608eb908d8

View file

@ -2718,12 +2718,43 @@ dosyslinux() {
TEMPDIR=/tmp TEMPDIR=/tmp
MBR=$DESTDIR/usr/lib/syslinux/mbr.bin MBR=$DESTDIR/usr/lib/syslinux/mbr.bin
[ -e ${TEMPDIR}/syslinux.cfg ] && rm ${TEMPDIR}/syslinux.cfg [ -e ${TEMPDIR}/syslinux.cfg ] && rm ${TEMPDIR}/syslinux.cfg
echo "prompt 1" >> ${TEMPDIR}/syslinux.cfg cat << EOF > ${TEMPDIR}/syslinux.cfg
echo "timeout 300" >> ${TEMPDIR}/syslinux.cfg DEFAULT vesamenu.c32
echo "display boot.msg" >> ${TEMPDIR}/syslinux.cfg PROMPT 0
echo "default arch" >> ${TEMPDIR}/syslinux.cfg MENU TITLE Arch Linux
MENU BACKGROUND splash.png
TIMEOUT 300
MENU WIDTH 78
MENU MARGIN 4
MENU ROWS 10
MENU VSHIFT 10
MENU TIMEOUTROW 15
MENU TABMSGROW 13
MENU CMDLINEROW 11
MENU HELPMSGROW 17
MENU HELPMSGENDROW 29
# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
MENU COLOR border 30;44 #40ffffff #a0000000 std
MENU COLOR title 1;36;44 #9033ccff #a0000000 std
MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel 37;44 #50ffffff #a0000000 std
MENU COLOR help 37;40 #c0ffffff #a0000000 std
MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std
MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07 37;40 #90ffffff #a0000000 std
MENU COLOR tabmsg 31;40 #30ffffff #00000000 std
ONTIMEOUT arch
EOF
sort /tmp/.device-names >> ${TEMPDIR}/syslinux.cfg sort /tmp/.device-names >> ${TEMPDIR}/syslinux.cfg
echo "label arch" >> ${TEMPDIR}/syslinux.cfg echo "label arch" >> ${TEMPDIR}/syslinux.cfg
echo "TEXT HELP" >> ${TEMPDIR}/syslinux.cfg
echo "Boot Arch Linux" >> ${TEMPDIR}/syslinux.cfg
echo "ENDTEXT" >> ${TEMPDIR}/syslinux.cfg
echo "MENU LABEL Arch Linux" >> ${TEMPDIR}/syslinux.cfg
echo "kernel $VMLINUZ" >> ${TEMPDIR}/syslinux.cfg echo "kernel $VMLINUZ" >> ${TEMPDIR}/syslinux.cfg
if [ "$NAME_SCHEME_PARAMETER" = "UUID" -o "$NAME_SCHEME_PARAMETER" = "LABEL" ]; then if [ "$NAME_SCHEME_PARAMETER" = "UUID" -o "$NAME_SCHEME_PARAMETER" = "LABEL" ]; then
echo "append initrd=$KERNELPKG.img root=${_rootpart} rootfstype=$ROOTFS $RAIDARRAYS $CRYPTSETUP" | sed -e 's# # #g' >> ${TEMPDIR}/syslinux.cfg echo "append initrd=$KERNELPKG.img root=${_rootpart} rootfstype=$ROOTFS $RAIDARRAYS $CRYPTSETUP" | sed -e 's# # #g' >> ${TEMPDIR}/syslinux.cfg
@ -2731,20 +2762,16 @@ dosyslinux() {
echo "append initrd=$KERNELPKG.img root=${PART_ROOT} rootfstype=$ROOTFS $RAIDARRAYS $CRYPTSETUP" | sed -e 's# # #g' >> ${TEMPDIR}/syslinux.cfg echo "append initrd=$KERNELPKG.img root=${PART_ROOT} rootfstype=$ROOTFS $RAIDARRAYS $CRYPTSETUP" | sed -e 's# # #g' >> ${TEMPDIR}/syslinux.cfg
fi fi
echo "label fallback" >> ${TEMPDIR}/syslinux.cfg echo "label fallback" >> ${TEMPDIR}/syslinux.cfg
echo "TEXT HELP" >> ${TEMPDIR}/syslinux.cfg
echo "Boot Arch Linux Fallback" >> ${TEMPDIR}/syslinux.cfg
echo "ENDTEXT" >> ${TEMPDIR}/syslinux.cfg
echo "MENU LABEL Arch Linux Fallback" >> ${TEMPDIR}/syslinux.cfg
echo "kernel $VMLINUZ" >> ${TEMPDIR}/syslinux.cfg echo "kernel $VMLINUZ" >> ${TEMPDIR}/syslinux.cfg
if [ "$NAME_SCHEME_PARAMETER" = "UUID" -o "$NAME_SCHEME_PARAMETER" = "LABEL" ]; then if [ "$NAME_SCHEME_PARAMETER" = "UUID" -o "$NAME_SCHEME_PARAMETER" = "LABEL" ]; then
echo "append initrd=$KERNELPKG-fallback.img root=${_rootpart} rootfstype=$ROOTFS $RAIDARRAYS $CRYPTSETUP" | sed -e 's# # #g' >> ${TEMPDIR}/syslinux.cfg echo "append initrd=$KERNELPKG-fallback.img root=${_rootpart} rootfstype=$ROOTFS $RAIDARRAYS $CRYPTSETUP" | sed -e 's# # #g' >> ${TEMPDIR}/syslinux.cfg
else else
echo "append initrd=$KERNELPKG-fallback.img root=${PART_ROOT} rootfstype=$ROOTFS $RAIDARRAYS $CRYPTSETUP" | sed -e 's# # #g' >> ${TEMPDIR}/syslinux.cfg echo "append initrd=$KERNELPKG-fallback.img root=${PART_ROOT} rootfstype=$ROOTFS $RAIDARRAYS $CRYPTSETUP" | sed -e 's# # #g' >> ${TEMPDIR}/syslinux.cfg
fi fi
# create boot message
[ -e ${TEMPDIR}/boot.msg ] && rm ${TEMPDIR}/boot.msg
echo "Arch Linux" >> ${TEMPDIR}/boot.msg
echo "SYSLINUX BOOT" >> ${TEMPDIR}/boot.msg
echo "" >> ${TEMPDIR}/boot.msg
echo "Available labels:" >> ${TEMPDIR}/boot.msg
echo "- 'arch' for normal boot" >> ${TEMPDIR}/boot.msg
echo "- 'fallback' for fallback boot" >> ${TEMPDIR}/boot.msg
# edit syslinux.cfg # edit syslinux.cfg
DIALOG --msgbox "Before installing SYSLINUX, you must review the configuration file. You will now be put into the editor. After you save your changes and exit the editor, SYSLINUX will be installed." 0 0 DIALOG --msgbox "Before installing SYSLINUX, you must review the configuration file. You will now be put into the editor. After you save your changes and exit the editor, SYSLINUX will be installed." 0 0
[ "$EDITOR" ] || geteditor [ "$EDITOR" ] || geteditor
@ -2752,7 +2779,7 @@ dosyslinux() {
# install syslinux # install syslinux
DIALOG --infobox "Installing the SYSLINUX bootloader..." 0 0 DIALOG --infobox "Installing the SYSLINUX bootloader..." 0 0
cp ${TEMPDIR}/syslinux.cfg ${DESTDIR}/boot/syslinux.cfg cp ${TEMPDIR}/syslinux.cfg ${DESTDIR}/boot/syslinux.cfg
cp ${TEMPDIR}/boot.msg ${DESTDIR}/boot/boot.msg cp ${DESTDIR}/usr/lib/syslinux/*.c32 ${DESTDIR}/boot/
cat ${MBR} > ${ROOTDEV} cat ${MBR} > ${ROOTDEV}
[ -e ${DESTDIR}/boot/ldlinux.sys ] && rm ${DESTDIR}/boot/ldlinux.sys [ -e ${DESTDIR}/boot/ldlinux.sys ] && rm ${DESTDIR}/boot/ldlinux.sys
$DESTDIR/usr/bin/syslinux $bootdev >$LOG 2>&1 $DESTDIR/usr/bin/syslinux $bootdev >$LOG 2>&1