~chessy/live-build/live-helper.chessy

« back to all changes in this revision

Viewing changes to helpers/lh_binary_syslinux

  • Committer: Cody A.W. Somerville
  • Date: 2009-12-17 15:47:33 UTC
  • mfrom: (990.1.113)
  • Revision ID: cody.somerville@canonical.com-20091217154733-s399e2926ouoj5j6
Merge in live-helper 1.0.6-1 from Debian.

Show diffs side-by-side

added added

removed removed

Lines of Context:
101
101
                        fi
102
102
 
103
103
                        # Note: ISOLINUX will not find the kernel if the name ends in ".img".
104
 
                        mv ${KERNEL_PATH}/${KERNEL} ${KERNEL_PATH}/vmlinuz${NUMBER}
105
 
                        mv ${KERNEL_PATH}/${INITRD} ${KERNEL_PATH}/initrd${NUMBER}.img
 
104
                        if [ -e ${KERNEL_PATH}/${KERNEL} ]
 
105
                        then
 
106
                                mv ${KERNEL_PATH}/${KERNEL} ${KERNEL_PATH}/vmlinuz${NUMBER}
 
107
                        fi
 
108
 
 
109
                        if [ -e ${KERNEL_PATH}/${INITRD} ]
 
110
                        then
 
111
                                mv ${KERNEL_PATH}/${INITRD} ${KERNEL_PATH}/initrd${NUMBER}.img
 
112
                        fi
106
113
 
107
114
                        KERNEL=vmlinuz${NUMBER}
108
115
                        INITRD=initrd${NUMBER}.img
113
120
        LINUX_LIVE="${LINUX_LIVE}\nlabel ${LABEL}\n"
114
121
 
115
122
        # Write the menu label if the syslinux menu is being use
116
 
        LINUX_LIVE="${LINUX_LIVE}\tmenu label ${MENULABEL}\n"
 
123
        if [ -n "${MENULABEL}" ]
 
124
        then
 
125
                LINUX_LIVE="${LINUX_LIVE}\tmenu label ${MENULABEL}\n"
 
126
        fi
 
127
 
117
128
        LINUX_LIVE="${LINUX_LIVE}\tkernel ${LIVE_KERNEL_PATH}/${KERNEL}\n"
118
129
        LINUX_LIVE="${LINUX_LIVE}\tappend initrd=${LIVE_KERNEL_PATH}/${INITRD} boot=${INITFS} ${LH_BOOTAPPEND_LIVE} ${APPEND}\n"
119
130
 
121
132
        LINUX_LIVE="${LINUX_LIVE}\nlabel ${LABEL}failsafe\n"
122
133
 
123
134
        # Write the menu label if the syslinux menu is being use
124
 
        LINUX_LIVE="${LINUX_LIVE}\tmenu label ${MENULABEL} (failsafe)\n"
 
135
        if [ -n "${MENULABEL}" ]
 
136
        then
 
137
                LINUX_LIVE="${LINUX_LIVE}\tmenu label ${MENULABEL} (failsafe)\n"
 
138
        fi
 
139
 
125
140
        LINUX_LIVE="${LINUX_LIVE}\tkernel ${LIVE_KERNEL_PATH}/${KERNEL}\n"
126
141
        LINUX_LIVE="${LINUX_LIVE}\tappend initrd=${LIVE_KERNEL_PATH}/${INITRD} boot=${INITFS} ${LH_BOOTAPPEND_LIVE} ${APPEND} ${FAILSAFE}\n"
127
142
}
185
200
        else
186
201
                cp "${TEMPLATES}"/menu/* ${SCREEN_PATH}
187
202
 
188
 
                # Grab menu binary
189
 
                MENUMODULE=$(basename $(grep -m1 'menu.c32' ${TEMPLATES}/menu/syslinux.cfg | cut -d' ' -f2))
 
203
                case "${LH_SYSLINUX_MENU}" in
 
204
                        gfxboot)
 
205
                                # to be implemented
 
206
                                ;;
 
207
 
 
208
                        menu)
 
209
                                MENUMODULE="menu.c32"
 
210
                                ;;
 
211
 
 
212
                        vesamenu)
 
213
                                MENUMODULE="vesamenu.c32"
 
214
                                ;;
 
215
 
 
216
                        *)
 
217
                                if [ -z "${LH_SYSLINUX_CFG}" ]
 
218
                                then
 
219
                                        MENUMODULE=$(basename $(grep -m1 'menu.c32' ${TEMPLATES}/menu/syslinux.cfg | cut -d' ' -f2))
 
220
                                else
 
221
                                        LH_SYSLINUX_CFG="${LH_SYSLINUX_CFG:-${TEMPLATES}/menu/syslinux.cfg}"
 
222
                                fi
 
223
                                ;;
 
224
                esac
 
225
 
190
226
                case "${LH_CHROOT_BUILD}" in
191
227
                        enabled)
192
228
                                cp chroot/usr/lib/syslinux/"${MENUMODULE}" ${DATA_PATH}
300
336
                $template_file
301
337
        done
302
338
 
303
 
        if [ -f "${SYSLINUX_PATH}/exithelp.cfg" ]
304
 
        then
305
 
                sed -i -e 's/isolinux.cfg/syslinux.cfg/' ${SYSLINUX_PATH}/exithelp.cfg
306
 
        fi
 
339
        case "${LH_BINARY_IMAGES}" in
 
340
                usb-hdd)
 
341
                        if [ -f "${SYSLINUX_PATH}/exithelp.cfg" ]
 
342
                        then
 
343
                                sed -i -e "s|config isolinux.cfg|config syslinux.cfg|" "${SYSLINUX_PATH}"/exithelp.cfg
 
344
                        fi
 
345
                        ;;
 
346
 
 
347
                net)
 
348
                        if [ -f "${SCREEN_PATH}/exithelp.cfg" ]
 
349
                        then
 
350
                                sed -i -e "s|config isolinux.cfg|config ${LIVE_KERNEL_PATH}/pxelinux.cfg/default|" "${SCREEN_PATH}"/exithelp.cfg
 
351
                        fi
 
352
                        ;;
 
353
        esac
307
354
 
308
355
        # Syslinux v3.31 in etch does not support include statements
309
356
        if [ "${LH_DISTRIBUTION}" = "etch" ]
310
357
        then
311
358
                while grep -qs ^include ${SCREEN_PATH}/syslinux.cfg
312
359
                do
313
 
                        INCLUDES=$(grep ^include ${SCREEN_PATH}/syslinux.cfg |awk '{print $2}')
 
360
                        INCLUDES=$(grep ^include ${SCREEN_PATH}/syslinux.cfg | awk '{print $2}')
314
361
 
315
362
                        for FILE_PATH in ${INCLUDES}
316
363
                        do
329
376
                        done
330
377
                done
331
378
 
 
379
                if [ -e ${SCREEN_PATH}/live.cfg ]
 
380
                then
 
381
                        cat ${SCREEN_PATH}/live.cfg >> ${SCREEN_PATH}/syslinux.cfg
 
382
                        rm -f ${SCREEN_PATH}/live.cfg
 
383
                fi
 
384
 
332
385
                # Syslinux v3.31 in etch does not support sub directories, /path/kernel,
333
386
                # when using FAT hard drive images, remove leading /'s
334
387
                if [ "${LH_BINARY_IMAGES}" = "usb-hdd" ]
556
609
        done
557
610
fi
558
611
 
 
612
# Only needed for non-vesamenu, non-gfxboot syslinux
 
613
case "${LH_SYSLINUX_MENU}" in
 
614
        disabled|menu)
 
615
                # Adding syslinux hardcoded default label entry
 
616
                Syslinux_live_entry "linux" "" "${DEFAULT_KERNEL}" "${DEFAULT_INITRD}"
 
617
                ;;
 
618
esac
 
619
 
559
620
# Assembling debian-installer configuration
560
621
if [ "${LH_DEBIAN_INSTALLER}" != "disabled" ]
561
622
then
625
686
                ln -s ${LIVE_KERNEL_PATH}/pxelinux.cfg ${SYSLINUX_PATH}/pxelinux.cfg
626
687
                ln -s ${LIVE_KERNEL_PATH}/pxelinux.0 ${SYSLINUX_PATH}/pxelinux.0
627
688
 
 
689
                # Adjusting include pathes
 
690
                for FILE in ${SCREEN_PATH}/*.cfg
 
691
                do
 
692
                        sed -i -e "s|^include |include ${LIVE_SCREEN_PATH}/|g" "${FILE}"
 
693
                done
 
694
 
 
695
                if [ "${LH_DISTRIBUTION}" != "etch" ]
 
696
                then
 
697
                        sed -i -e "s| f| ${LIVE_SCREEN_PATH}/f|g" ${SCREEN_PATH}/prompt.cfg
 
698
                fi
 
699
 
628
700
                mv ${SCREEN_PATH}/syslinux.cfg ${KERNEL_PATH}/pxelinux.cfg/default
629
701
 
630
702
                # Copying configuration file