aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/scripts
diff options
context:
space:
mode:
authorDavid M. Syzdek <david@syzdek.net>2018-01-28 20:57:01 -0900
committerDavid M. Syzdek <david@syzdek.net>2018-01-28 21:07:29 -0900
commit0adf7cc202e8f771e642fe16914425d65664deb3 (patch)
tree290a8c8210c3c97074f12ced39f3dd33aa9c450f /src/scripts
parent42d2385060f8c052d640b555e8fc3156415d5057 (diff)
downloadiperd-0adf7cc202e8f771e642fe16914425d65664deb3.tar.gz
iperd-0adf7cc202e8f771e642fe16914425d65664deb3.tar.bz2
iperd-0adf7cc202e8f771e642fe16914425d65664deb3.tar.xz
iperd-0adf7cc202e8f771e642fe16914425d65664deb3.zip
configure.sh: expanding deps() to create sys/pxe/isolinux configs
Expanding deps() function to create the distro specific syslinux configurations with a separate config for each of the following: isolinux (bios) - var/config/isolinux.inc pxelinux (bios) - var/config/pxelinux.inc syslinux (bios) - var/config/syslinux.inc BOOTX64.EFI (uefi) - var/config/syslx64.inc syslinux.efi (uefi) - var/config/pxelx64.inc I do not have an IA32 UEFI system with which to test IA32 boot configurations, so I am leaving off specific IA32 configuration files for now.
Diffstat (limited to 'src/scripts')
-rw-r--r--src/scripts/configure.sh81
1 files changed, 81 insertions, 0 deletions
diff --git a/src/scripts/configure.sh b/src/scripts/configure.sh
index 43a5ccb..64b6569 100644
--- a/src/scripts/configure.sh
+++ b/src/scripts/configure.sh
@@ -364,6 +364,43 @@ configure_image()
364 364
365deps() 365deps()
366{ 366{
367
368 CFG_DEP_FILES=""
369
370 # generate include file for isolinux.cfg
371 rm -f ${CONFIGDIR}/isolinux.inc
372 for ISODISTRO in $(list_cfg_distros);do
373 generate_cfg "${ISODISTRO}" cfg "cfg.label cfg.label.iso"
374 done > "${CONFIGDIR}/isolinux.inc"
375
376 # generate include file for pxelinux.cfg
377 rm -f ${CONFIGDIR}/pxelinux.inc
378 for ISODISTRO in $(list_cfg_distros);do
379 generate_cfg "${ISODISTRO}" cfg "cfg.label cfg.label.pxe"
380 done > "${CONFIGDIR}/pxelinux.inc"
381
382 # generate include file for syslinux.cfg
383 rm -f ${CONFIGDIR}/syslinux.inc
384 for ISODISTRO in $(list_cfg_distros);do
385 generate_cfg "${ISODISTRO}" cfg "cfg.label cfg.label.sys"
386 done > "${CONFIGDIR}/syslinux.inc"
387
388 # generate include file for pxelx64.cfg
389 rm -f ${CONFIGDIR}/pxelx64.inc
390 for ISODISTRO in $(list_cfg_distros);do
391 if test ! -f "${DISTRODIR}/${DISTRO}/broken.efi64";then
392 generate_cfg "${ISODISTRO}" cfg "cfg.label cfg.label.pxe"
393 fi
394 done > "${CONFIGDIR}/pxelx64.inc"
395
396 # generate include file for syslx64.cfg
397 rm -f ${CONFIGDIR}/syslx64.inc
398 for ISODISTRO in $(list_cfg_distros);do
399 if test ! -f "${DISTRODIR}/${DISTRO}/broken.efi64";then
400 generate_cfg "${ISODISTRO}" cfg "cfg.label cfg.label.sys"
401 fi
402 done > "${CONFIGDIR}/syslx64.inc"
403
367 # save variables 404 # save variables
368 for STR in "CONFIG_PART_TYPE" "CONFIG_IMG_SIZE" "CONFIG_ISO_TYPE";do 405 for STR in "CONFIG_PART_TYPE" "CONFIG_IMG_SIZE" "CONFIG_ISO_TYPE";do
369 egrep "^${STR}=" "${CONFIG}.new" > /dev/null 406 egrep "^${STR}=" "${CONFIG}.new" > /dev/null
@@ -390,6 +427,7 @@ deps()
390 echo "DISKSIZE ?= ${CONFIG_IMG_SIZE}" 427 echo "DISKSIZE ?= ${CONFIG_IMG_SIZE}"
391 echo "DISKTYPE ?= ${CONFIG_PART_TYPE}" 428 echo "DISKTYPE ?= ${CONFIG_PART_TYPE}"
392 echo "PARTSIZE ?= ${CONFIG_PART_SIZE}" 429 echo "PARTSIZE ?= ${CONFIG_PART_SIZE}"
430 echo "CFG_DEP_FILES = ${CFG_DEP_FILES}"
393 for DISTRO in $(egrep '^#[[:alnum:]]+-' "${CONFIG}" |cut -d- -f1 |cut -d'#' -f2 |sort |uniq);do 431 for DISTRO in $(egrep '^#[[:alnum:]]+-' "${CONFIG}" |cut -d- -f1 |cut -d'#' -f2 |sort |uniq);do
394 if test -f "${DISTRODIR}/${DISTRO}/make.header";then 432 if test -f "${DISTRODIR}/${DISTRO}/make.header";then
395 cat "${DISTRODIR}/${DISTRO}/make.header" 433 cat "${DISTRODIR}/${DISTRO}/make.header"
@@ -416,6 +454,49 @@ deps()
416} 454}
417 455
418 456
457generate_cfg()
458{
459 DISTRO="${1}"
460 PREFIX="${2}"
461 FILES="${3}"
462 if test -f "${DISTRODIR}/${DISTRO}/${PREFIX}.header";then
463 CFG_DEP_FILES="${CFG_DEP_FILES} ${DISTRODIR}/${DISTRO}/${PREFIX}.header"
464 cat "${DISTRODIR}/${DISTRO}/${PREFIX}.header"
465 fi
466 for VERS in $(egrep "^#${DISTRO}-" "${CONFIG}");do
467 VERSION=$(echo "${VERS}" |cut -d- -f2)
468 CODENAME=$(echo "${VERS}" |cut -d- -f3)
469 ARCH=$(echo "${VERS}" |cut -d- -f4)
470 for TMPFILE in ${FILES};do
471 if test -f "${DISTRODIR}/${DISTRO}/${TMPFILE}";then
472 CFG_DEP_FILES="${CFG_DEP_FILES} ${DISTRODIR}/${DISTRO}/${TMPFILE}"
473 sed \
474 -e "s/@VERSION@/${VERSION}/g" \
475 -e "s/@CODENAME@/${CODENAME}/g" \
476 -e "s/@DISTRO@/${DISTRO}/g" \
477 -e "s/@ARCH@/${ARCH}/g" \
478 -e "s/@LABEL@/${LABEL}/g" \
479 "${DISTRODIR}/${DISTRO}/${TMPFILE}"
480 fi
481 done
482 done
483 if test -f "${DISTRODIR}/${DISTRO}/${PREFIX}.footer";then
484 CFG_DEP_FILES="${CFG_DEP_FILES} ${DISTRODIR}/${DISTRO}/${PREFIX}.footer"
485 cat "${DISTRODIR}/${DISTRO}/${PREFIX}.footer"
486 fi
487}
488
489
490list_cfg_distros()
491{
492 egrep '^#[[:alnum:]]+-' "${CONFIG}" \
493 |cut -d- -f1 \
494 |cut -d'#' -f2 \
495 |sort \
496 |uniq
497}
498
499
419list_distros() 500list_distros()
420{ 501{
421 egrep '^[[:space:]]{0,}[a-zA-Z0-9]{1,}[[:space:]]' ${DISTRODIR}/*/option* \ 502 egrep '^[[:space:]]{0,}[a-zA-Z0-9]{1,}[[:space:]]' ${DISTRODIR}/*/option* \