commit:     e9c0a0394d1516a03aba93ff673a0ff612c4d3c7
Author:     Luca Barbato <lu_zero <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 18 07:56:55 2018 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Fri Sep 14 05:40:18 2018 +0000
URL:        https://gitweb.gentoo.org/proj/catalyst.git/commit/?id=e9c0a039

ppc: Generate Grub entries

Tested-by: Matt Turner <mattst88 <AT> gentoo.org>

 targets/support/bootloader-setup.sh | 154 +++++++-----------------------------
 1 file changed, 30 insertions(+), 124 deletions(-)

diff --git a/targets/support/bootloader-setup.sh 
b/targets/support/bootloader-setup.sh
index ecb1810b..b7e2d313 100755
--- a/targets/support/bootloader-setup.sh
+++ b/targets/support/bootloader-setup.sh
@@ -81,139 +81,45 @@ case ${clst_hostarch} in
                done
        ;;
        ppc*|powerpc*)
-               # NO SOFTLEVEL SUPPORT YET
-               icfg=$1/boot/yaboot.conf
-               kmsg=$1/boot/boot.msg
-
-               echo "device=cd:" >> ${icfg}
-               echo "root=/dev/ram" >> ${icfg}
-               echo "fgcolor=white" >> ${icfg}
-               echo "bgcolor=black" >> ${icfg}
-               echo "message=/boot/boot.msg" >> ${icfg}
-
-               # Here is where I fix up the boot.msg file.
-               ${clst_sed} -e 's/ARCH/PowerPC/' \
-                       -e 's/HARDWARE/Apple and IBM hardware/' \
-                       -i $kmsg
-
-               # Setup the IBM yaboot.conf
-               etc_icfg=$1/etc/yaboot.conf
-               mkdir -p $1/etc
-               IBM_YABOOT="FALSE"
-               echo "root=/dev/ram" >> ${etc_icfg}
-               echo "fgcolor=white" >> ${etc_icfg}
-               echo "bgcolor=black" >> ${etc_icfg}
-               echo "message=/boot/boot.msg" >> ${etc_icfg}
-
+           # GRUB2 Openfirmware
+               kern_subdir=/boot
+               iacfg=$1/boot/grub/grub.cfg
+               mkdir -p $1/boot/grub
+               echo 'set default=0' > ${iacfg}
+               echo 'set gfxpayload=keep' >> ${iacfg}
+               echo 'set timeout=10' >> ${iacfg}
+               echo 'insmod all_video' >> ${iacfg}
+               echo '' >> ${iacfg}
                for x in ${clst_boot_kernel}
                do
                        eval 
"clst_kernel_console=\$clst_boot_kernel_${x}_console"
                        eval 
"clst_kernel_machine_type=\$clst_boot_kernel_${x}_machine_type"
                        eval custom_kopts=\$${x}_kernelopts
 
-                       echo "APPENDING CUSTOM KERNEL ARGS: ${custom_kopts}"
-                       if [ "${clst_kernel_machine_type}" == "ibm" ]
+                       echo "menuentry 'Boot LiveCD (kernel: ${x})' --class 
gnu-linux --class os {"  >> ${iacfg}
+                       echo "  linux ${kern_subdir}/${x} 
${default_append_line}" >> ${iacfg}
+                       echo "  initrd ${kern_subdir}/${x}.igz" >> ${iacfg}
+                       echo "}" >> ${iacfg}
+                       echo "" >> ${iacfg}
+                       echo "menuentry 'Boot LiveCD (kernel: ${x}) (cached)' 
--class gnu-linux --class os {"  >> ${iacfg}
+                       echo "  linux ${kern_subdir}/${x} 
${default_append_line} docache" >> ${iacfg}
+                       echo "  initrd ${kern_subdir}/${x}.igz" >> ${iacfg}
+                       echo "}" >> ${iacfg}
+                       if [ -n "${clst_kernel_console}" ]
                        then
-                               IBM_YABOOT="true"
-                               if [ -n "${clst_kernel_console}" ]
-                               then
-                                       echo >> ${etc_icfg}
-                                       echo "image=/boot/${x}" >> ${etc_icfg}
-
-                                       if [ -e "$1/boot/${x}.igz" ]
-                                       then
-                                               echo "initrd=/boot/${x}.igz" >> 
${etc_icfg}
-                                       fi
-
-                                       echo "label=${x}" >> ${etc_icfg}
-                                       echo "read-write" >> ${icfg}
-                                       echo 
"append=\"${default_append_line}\"" >> ${etc_icfg}
-
-                                       for y in ${clst_kernel_console}
-                                       do
-                                               echo ${y}
-                                               echo >> ${etc_icfg}
-                                               echo "image=/boot/${x}" >> 
${etc_icfg}
-
-                                               if [ -e "$1/boot/${x}.igz" ]
-                                               then
-                                                       echo 
"initrd=/boot/${x}.igz" >> ${etc_icfg}
-                                               fi
-
-                                               echo "label=${x}-${y} " >> 
${etc_icfg}
-                                               echo "read-write" >> ${icfg}
-                                               echo 
"append=\"${default_append_line} console=${y}\"" >> ${etc_icfg}
-                                       done
-                               else
-                                       echo >> ${etc_icfg}
-                                       echo "image=/boot/${x}" >> ${etc_icfg}
-
-                                       if [ -e "$1/boot/${x}.igz" ]
-                                       then
-                                               echo "initrd=/boot/${x}.igz" >> 
${etc_icfg}
-                                       fi
-
-                                       echo "label=${x}" >> ${etc_icfg}
-                                       echo "read-write" >> ${etc_icfg}
-                                       echo 
"append=\"${default_append_line}\"" >> ${etc_icfg}
-                               fi
-                       else
-                               # Here we wipe out the /ppc directory, if it 
exists.
-                               rm -rf $1/ppc
-                               if [ -n "${clst_kernel_console}" ]
-                               then
-                                       echo >> ${icfg}
-                                       echo "image=/boot/${x}" >> ${icfg}
-
-                                       if [ -e "$1/boot/${x}.igz" ]
-                                       then
-                                               echo "initrd=/boot/${x}.igz" >> 
${icfg}
-                                       fi
-
-                                       echo "label=${x}" >> ${icfg}
-                                       echo "read-write" >> ${icfg}
-                                       echo 
"append=\"${default_append_line}\"" >> ${icfg}
-
-                                       for y in ${clst_kernel_console}
-                                       do
-                                               echo >> ${icfg}
-                                               echo "image=/boot/${x}" >> 
${icfg}
-
-                                               if [ -e "$1/boot/${x}.igz" ]
-                                               then
-                                                       echo 
"initrd=/boot/${x}.igz" >> ${icfg}
-                                               fi
-
-                                               echo "label=${x}-${y} " >> 
${icfg}
-                                               echo "read-write" >> ${icfg}
-                                               echo 
"append=\"${default_append_line} console=${y}\"" >> ${icfg}
-                                       done
-                               else
-                                       echo >> ${icfg}
-                                       echo "image=/boot/${x}" >> ${icfg}
-
-                                       if [ -e "$1/boot/${x}.igz" ]
-                                       then
-                                               echo "initrd=/boot/${x}.igz" >> 
${icfg}
-                                       fi
-
-                                       echo "label=${x}" >> ${icfg}
-                                       echo "read-write" >> ${icfg}
-                                       echo 
"append=\"${default_append_line}\"" >> ${icfg}
-                               fi
+                       echo "submenu 'Special console options (kernel: ${x})' 
--class gnu-linux --class os {" >> ${iacfg}
+                               for y in ${clst_kernel_console}
+                               do
+                                       echo "menuentry 'Boot LiveCD (kernel: 
${x} console=${y})' --class gnu-linux --class os {"  >> ${iacfg}
+                                       echo "  linux ${kern_subdir}/${x} 
${default_append_line} console=${y}" >> ${iacfg}
+                                       echo "  initrd ${kern_subdir}/${x}.igz" 
>> ${iacfg}
+                                       echo "}" >> ${iacfg}
+                                       echo "" >> ${iacfg}
+                               done
+                               echo "}" >> ${iacfg}
                        fi
+                       echo "" >> ${iacfg}
                done
-
-               if [ "${IBM_YABOOT}" == "FALSE" ]
-               then
-                       rm ${etc_kmsg}
-                       rmdir $1/etc
-                       if [ -d $1/ppc ]
-                       then
-                               rm -r $1/ppc
-                       fi
-               fi
-
        ;;
        sparc*)
                # NO SOFTLEVEL SUPPORT YET

Reply via email to