diff options
| author | David M. Syzdek <david@syzdek.net> | 2018-01-28 20:57:01 -0900 |
|---|---|---|
| committer | David M. Syzdek <david@syzdek.net> | 2018-01-28 21:07:29 -0900 |
| commit | 0adf7cc202e8f771e642fe16914425d65664deb3 (patch) | |
| tree | 290a8c8210c3c97074f12ced39f3dd33aa9c450f /src/scripts | |
| parent | 42d2385060f8c052d640b555e8fc3156415d5057 (diff) | |
| download | iperd-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.sh | 81 |
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 | ||
| 365 | deps() | 365 | deps() |
| 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 | ||
| 457 | generate_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 | |||
| 490 | list_cfg_distros() | ||
| 491 | { | ||
| 492 | egrep '^#[[:alnum:]]+-' "${CONFIG}" \ | ||
| 493 | |cut -d- -f1 \ | ||
| 494 | |cut -d'#' -f2 \ | ||
| 495 | |sort \ | ||
| 496 | |uniq | ||
| 497 | } | ||
| 498 | |||
| 499 | |||
| 419 | list_distros() | 500 | list_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* \ |
