[arch-releng] [PATCH 4/4] [configs/releng] Use whichsys.c32 to determine bootloader type

Gerardo Exequiel Pozzi vmlinuz386 at yahoo.com.ar
Thu Dec 1 22:45:22 EST 2011


* In that way we can have two differents syslinux menus depending if booting from
PXE or from non-PXE.
Some file renames are made to keep things ordered:

archiso_pxe* all things related to PXELINUX
archiso_sys* all things related to SYSLINUX
*_inc.cfg only contains INCLUDE directive

* By default NBD PXE option is selected for booting on timeout.
* As (NDB/NFS/HTTP/FTP) server is used the same IP from pxeserver.

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386 at yahoo.com.ar>
---
 configs/releng/syslinux.dual/archiso.cfg           |   17 +++----
 configs/releng/syslinux.dual/archiso_32only.cfg    |    3 -
 configs/releng/syslinux.dual/archiso_arch32.cfg    |   10 ----
 configs/releng/syslinux.dual/archiso_arch64.cfg    |   10 ----
 configs/releng/syslinux.dual/archiso_both.cfg      |    4 --
 configs/releng/syslinux.dual/archiso_pxe32.cfg     |   43 ++++++++++++++++++
 configs/releng/syslinux.dual/archiso_pxe64.cfg     |   43 ++++++++++++++++++
 .../releng/syslinux.dual/archiso_pxe_32_inc.cfg    |    3 +
 .../releng/syslinux.dual/archiso_pxe_both_inc.cfg  |    4 ++
 .../releng/syslinux.dual/archiso_pxe_choose.cfg    |   11 +++++
 configs/releng/syslinux.dual/archiso_sys32.cfg     |    9 ++++
 configs/releng/syslinux.dual/archiso_sys64.cfg     |    9 ++++
 .../releng/syslinux.dual/archiso_sys_32_inc.cfg    |    3 +
 .../releng/syslinux.dual/archiso_sys_both_inc.cfg  |    4 ++
 .../releng/syslinux.dual/archiso_sys_choose.cfg    |   11 +++++
 configs/releng/syslinux/archiso.cfg                |   14 +++++-
 configs/releng/syslinux/archiso_pxe.cfg            |   46 ++++++++++++++++++++
 configs/releng/syslinux/archiso_pxe_inc.cfg        |    3 +
 configs/releng/syslinux/archiso_sys.cfg            |    1 -
 configs/releng/syslinux/archiso_sys_inc.cfg        |    3 +
 20 files changed, 211 insertions(+), 40 deletions(-)
 delete mode 100644 configs/releng/syslinux.dual/archiso_32only.cfg
 delete mode 100644 configs/releng/syslinux.dual/archiso_arch32.cfg
 delete mode 100644 configs/releng/syslinux.dual/archiso_arch64.cfg
 delete mode 100644 configs/releng/syslinux.dual/archiso_both.cfg
 create mode 100644 configs/releng/syslinux.dual/archiso_pxe32.cfg
 create mode 100644 configs/releng/syslinux.dual/archiso_pxe64.cfg
 create mode 100644 configs/releng/syslinux.dual/archiso_pxe_32_inc.cfg
 create mode 100644 configs/releng/syslinux.dual/archiso_pxe_both_inc.cfg
 create mode 100644 configs/releng/syslinux.dual/archiso_pxe_choose.cfg
 create mode 100644 configs/releng/syslinux.dual/archiso_sys32.cfg
 create mode 100644 configs/releng/syslinux.dual/archiso_sys64.cfg
 create mode 100644 configs/releng/syslinux.dual/archiso_sys_32_inc.cfg
 create mode 100644 configs/releng/syslinux.dual/archiso_sys_both_inc.cfg
 create mode 100644 configs/releng/syslinux.dual/archiso_sys_choose.cfg
 create mode 100644 configs/releng/syslinux/archiso_pxe.cfg
 create mode 100644 configs/releng/syslinux/archiso_pxe_inc.cfg
 create mode 100644 configs/releng/syslinux/archiso_sys_inc.cfg

diff --git a/configs/releng/syslinux.dual/archiso.cfg b/configs/releng/syslinux.dual/archiso.cfg
index 9994e43..d1817af 100644
--- a/configs/releng/syslinux.dual/archiso.cfg
+++ b/configs/releng/syslinux.dual/archiso.cfg
@@ -1,12 +1,11 @@
-DEFAULT choose
-PROMPT 0
+DEFAULT select
 
-LABEL choose
-KERNEL boot/syslinux/ifcpu64.c32
-APPEND have64 -- nohave64
+LABEL select
+COM32 boot/syslinux/whichsys.c32
+APPEND -pxe- pxe -sys- sys -iso- sys
 
-LABEL have64
-CONFIG boot/syslinux/archiso_both.cfg
+LABEL pxe
+CONFIG boot/syslinux/archiso_pxe_choose.cfg
 
-LABEL nohave64
-CONFIG boot/syslinux/archiso_32only.cfg
+LABEL sys
+CONFIG boot/syslinux/archiso_sys_choose.cfg
diff --git a/configs/releng/syslinux.dual/archiso_32only.cfg b/configs/releng/syslinux.dual/archiso_32only.cfg
deleted file mode 100644
index e0cad88..0000000
--- a/configs/releng/syslinux.dual/archiso_32only.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-INCLUDE boot/syslinux/archiso_head.cfg
-INCLUDE boot/syslinux/archiso_arch32.cfg
-INCLUDE boot/syslinux/archiso_tail.cfg
diff --git a/configs/releng/syslinux.dual/archiso_arch32.cfg b/configs/releng/syslinux.dual/archiso_arch32.cfg
deleted file mode 100644
index e7c7e23..0000000
--- a/configs/releng/syslinux.dual/archiso_arch32.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-LABEL arch32
-TEXT HELP
-Boot the Arch Linux (i686) live medium. It allows you to install Arch Linux or
-perform system maintenance.
-ENDTEXT
-MENU LABEL Boot Arch Linux (i686)
-LINUX boot/i686/vmlinuz
-INITRD boot/i686/archiso.img
-APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
-IPAPPEND 3
diff --git a/configs/releng/syslinux.dual/archiso_arch64.cfg b/configs/releng/syslinux.dual/archiso_arch64.cfg
deleted file mode 100644
index aee7bb0..0000000
--- a/configs/releng/syslinux.dual/archiso_arch64.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-LABEL arch64
-TEXT HELP
-Boot the Arch Linux (x86_64) live medium. It allows you to install Arch Linux or
-perform system maintenance.
-ENDTEXT
-MENU LABEL Boot Arch Linux (x86_64)
-LINUX boot/x86_64/vmlinuz
-INITRD boot/x86_64/archiso.img
-APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
-IPAPPEND 3
diff --git a/configs/releng/syslinux.dual/archiso_both.cfg b/configs/releng/syslinux.dual/archiso_both.cfg
deleted file mode 100644
index 493ee81..0000000
--- a/configs/releng/syslinux.dual/archiso_both.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-INCLUDE boot/syslinux/archiso_head.cfg
-INCLUDE boot/syslinux/archiso_arch32.cfg
-INCLUDE boot/syslinux/archiso_arch64.cfg
-INCLUDE boot/syslinux/archiso_tail.cfg
diff --git a/configs/releng/syslinux.dual/archiso_pxe32.cfg b/configs/releng/syslinux.dual/archiso_pxe32.cfg
new file mode 100644
index 0000000..737bae6
--- /dev/null
+++ b/configs/releng/syslinux.dual/archiso_pxe32.cfg
@@ -0,0 +1,43 @@
+LABEL arch32
+TEXT HELP
+Boot the Arch Linux (i686) live medium (Using NBD). It allows you to install Arch Linux or
+perform system maintenance.
+ENDTEXT
+MENU LABEL Boot Arch Linux (i686) (NBD)
+LINUX boot/i686/vmlinuz
+INITRD boot/i686/archiso.img
+APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver}
+IPAPPEND 3
+
+LABEL arch32_nfs
+TEXT HELP
+Boot the Arch Linux (i686) live medium (Using NFS). It allows you to install Arch Linux or
+perform system maintenance.
+ENDTEXT
+MENU LABEL Boot Arch Linux (i686) (NFS)
+LINUX boot/i686/vmlinuz
+INITRD boot/i686/archiso.img
+APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt
+IPAPPEND 3
+
+LABEL arch32_http
+TEXT HELP
+Boot the Arch Linux (i686) live medium (Using HTTP). It allows you to install Arch Linux or
+perform system maintenance.
+ENDTEXT
+MENU LABEL Boot Arch Linux (i686) (HTTP)
+LINUX boot/i686/vmlinuz
+INITRD boot/i686/archiso.img
+APPEND archisobasedir=%INSTALL_DIR% archiso_curl_url=http://${pxeserver}/
+IPAPPEND 3
+
+LABEL arch32_ftp
+TEXT HELP
+Boot the Arch Linux (i686) live medium (Using FTP). It allows you to install Arch Linux or
+perform system maintenance.
+ENDTEXT
+MENU LABEL Boot Arch Linux (i686) (FTP)
+LINUX boot/i686/vmlinuz
+INITRD boot/i686/archiso.img
+APPEND archisobasedir=%INSTALL_DIR% archiso_curl_url=ftp://${pxeserver}/
+IPAPPEND 3
diff --git a/configs/releng/syslinux.dual/archiso_pxe64.cfg b/configs/releng/syslinux.dual/archiso_pxe64.cfg
new file mode 100644
index 0000000..5d4a9c5
--- /dev/null
+++ b/configs/releng/syslinux.dual/archiso_pxe64.cfg
@@ -0,0 +1,43 @@
+LABEL arch64
+TEXT HELP
+Boot the Arch Linux (x86_64) live medium (Using NBD). It allows you to install Arch Linux or
+perform system maintenance.
+ENDTEXT
+MENU LABEL Boot Arch Linux (x86_64) (NBD)
+LINUX boot/x86_64/vmlinuz
+INITRD boot/x86_64/archiso.img
+APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver}
+IPAPPEND 3
+
+LABEL arch64_nfs
+TEXT HELP
+Boot the Arch Linux (x86_64) live medium (Using NFS). It allows you to install Arch Linux or
+perform system maintenance.
+ENDTEXT
+MENU LABEL Boot Arch Linux (x86_64) (NFS)
+LINUX boot/x86_64/vmlinuz
+INITRD boot/x86_64/archiso.img
+APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt
+IPAPPEND 3
+
+LABEL arch64_http
+TEXT HELP
+Boot the Arch Linux (x86_64) live medium (Using HTTP). It allows you to install Arch Linux or
+perform system maintenance.
+ENDTEXT
+MENU LABEL Boot Arch Linux (x86_64) (HTTP)
+LINUX boot/x86_64/vmlinuz
+INITRD boot/x86_64/archiso.img
+APPEND archisobasedir=%INSTALL_DIR% archiso_curl_url=http://${pxeserver}/
+IPAPPEND 3
+
+LABEL arch64_ftp
+TEXT HELP
+Boot the Arch Linux (x86_64) live medium (Using FTP). It allows you to install Arch Linux or
+perform system maintenance.
+ENDTEXT
+MENU LABEL Boot Arch Linux (x86_64) (FTP)
+LINUX boot/x86_64/vmlinuz
+INITRD boot/x86_64/archiso.img
+APPEND archisobasedir=%INSTALL_DIR% archiso_curl_url=ftp://${pxeserver}/
+IPAPPEND 3
diff --git a/configs/releng/syslinux.dual/archiso_pxe_32_inc.cfg b/configs/releng/syslinux.dual/archiso_pxe_32_inc.cfg
new file mode 100644
index 0000000..e4115df
--- /dev/null
+++ b/configs/releng/syslinux.dual/archiso_pxe_32_inc.cfg
@@ -0,0 +1,3 @@
+INCLUDE boot/syslinux/archiso_head.cfg
+INCLUDE boot/syslinux/archiso_pxe32.cfg
+INCLUDE boot/syslinux/archiso_tail.cfg
diff --git a/configs/releng/syslinux.dual/archiso_pxe_both_inc.cfg b/configs/releng/syslinux.dual/archiso_pxe_both_inc.cfg
new file mode 100644
index 0000000..324523e
--- /dev/null
+++ b/configs/releng/syslinux.dual/archiso_pxe_both_inc.cfg
@@ -0,0 +1,4 @@
+INCLUDE boot/syslinux/archiso_head.cfg
+INCLUDE boot/syslinux/archiso_pxe32.cfg
+INCLUDE boot/syslinux/archiso_pxe64.cfg
+INCLUDE boot/syslinux/archiso_tail.cfg
diff --git a/configs/releng/syslinux.dual/archiso_pxe_choose.cfg b/configs/releng/syslinux.dual/archiso_pxe_choose.cfg
new file mode 100644
index 0000000..6296065
--- /dev/null
+++ b/configs/releng/syslinux.dual/archiso_pxe_choose.cfg
@@ -0,0 +1,11 @@
+DEFAULT choose
+
+LABEL choose
+COM32 boot/syslinux/ifcpu64.c32
+APPEND have64 -- nohave64
+
+LABEL have64
+CONFIG boot/syslinux/archiso_pxe_both_inc.cfg
+
+LABEL nohave64
+CONFIG boot/syslinux/archiso_pxe_32_inc.cfg
diff --git a/configs/releng/syslinux.dual/archiso_sys32.cfg b/configs/releng/syslinux.dual/archiso_sys32.cfg
new file mode 100644
index 0000000..261579e
--- /dev/null
+++ b/configs/releng/syslinux.dual/archiso_sys32.cfg
@@ -0,0 +1,9 @@
+LABEL arch32
+TEXT HELP
+Boot the Arch Linux (i686) live medium. It allows you to install Arch Linux or
+perform system maintenance.
+ENDTEXT
+MENU LABEL Boot Arch Linux (i686)
+LINUX boot/i686/vmlinuz
+INITRD boot/i686/archiso.img
+APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
diff --git a/configs/releng/syslinux.dual/archiso_sys64.cfg b/configs/releng/syslinux.dual/archiso_sys64.cfg
new file mode 100644
index 0000000..eb89813
--- /dev/null
+++ b/configs/releng/syslinux.dual/archiso_sys64.cfg
@@ -0,0 +1,9 @@
+LABEL arch64
+TEXT HELP
+Boot the Arch Linux (x86_64) live medium. It allows you to install Arch Linux or
+perform system maintenance.
+ENDTEXT
+MENU LABEL Boot Arch Linux (x86_64)
+LINUX boot/x86_64/vmlinuz
+INITRD boot/x86_64/archiso.img
+APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
diff --git a/configs/releng/syslinux.dual/archiso_sys_32_inc.cfg b/configs/releng/syslinux.dual/archiso_sys_32_inc.cfg
new file mode 100644
index 0000000..9e37093
--- /dev/null
+++ b/configs/releng/syslinux.dual/archiso_sys_32_inc.cfg
@@ -0,0 +1,3 @@
+INCLUDE boot/syslinux/archiso_head.cfg
+INCLUDE boot/syslinux/archiso_sys32.cfg
+INCLUDE boot/syslinux/archiso_tail.cfg
diff --git a/configs/releng/syslinux.dual/archiso_sys_both_inc.cfg b/configs/releng/syslinux.dual/archiso_sys_both_inc.cfg
new file mode 100644
index 0000000..4ed6b39
--- /dev/null
+++ b/configs/releng/syslinux.dual/archiso_sys_both_inc.cfg
@@ -0,0 +1,4 @@
+INCLUDE boot/syslinux/archiso_head.cfg
+INCLUDE boot/syslinux/archiso_sys32.cfg
+INCLUDE boot/syslinux/archiso_sys64.cfg
+INCLUDE boot/syslinux/archiso_tail.cfg
diff --git a/configs/releng/syslinux.dual/archiso_sys_choose.cfg b/configs/releng/syslinux.dual/archiso_sys_choose.cfg
new file mode 100644
index 0000000..24c597a
--- /dev/null
+++ b/configs/releng/syslinux.dual/archiso_sys_choose.cfg
@@ -0,0 +1,11 @@
+DEFAULT choose
+
+LABEL choose
+COM32 boot/syslinux/ifcpu64.c32
+APPEND have64 -- nohave64
+
+LABEL have64
+CONFIG boot/syslinux/archiso_sys_both_inc.cfg
+
+LABEL nohave64
+CONFIG boot/syslinux/archiso_sys_32_inc.cfg
diff --git a/configs/releng/syslinux/archiso.cfg b/configs/releng/syslinux/archiso.cfg
index 1228355..126fc77 100644
--- a/configs/releng/syslinux/archiso.cfg
+++ b/configs/releng/syslinux/archiso.cfg
@@ -1,3 +1,11 @@
-INCLUDE boot/syslinux/archiso_head.cfg
-INCLUDE boot/syslinux/archiso_arch.cfg
-INCLUDE boot/syslinux/archiso_tail.cfg
+DEFAULT select
+
+LABEL select
+COM32 boot/syslinux/whichsys.c32
+APPEND -pxe- pxe -sys- sys -iso- sys
+
+LABEL pxe
+CONFIG boot/syslinux/archiso_pxe_inc.cfg
+
+LABEL sys
+CONFIG boot/syslinux/archiso_sys_inc.cfg
diff --git a/configs/releng/syslinux/archiso_pxe.cfg b/configs/releng/syslinux/archiso_pxe.cfg
new file mode 100644
index 0000000..16cbd46
--- /dev/null
+++ b/configs/releng/syslinux/archiso_pxe.cfg
@@ -0,0 +1,46 @@
+LABEL arch
+arch_nbd
+
+LABEL arch_nbd
+TEXT HELP
+Boot the Arch Linux live medium (Using NBD). It allows you to install Arch Linux or
+perform system maintenance.
+ENDTEXT
+MENU LABEL Boot Arch Linux (NBD)
+LINUX boot/%ARCH%/vmlinuz
+INITRD boot/%ARCH%/archiso.img
+APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver}
+IPAPPEND 3
+
+LABEL arch_nfs
+TEXT HELP
+Boot the Arch Linux live medium (Using NFS). It allows you to install Arch Linux or
+perform system maintenance.
+ENDTEXT
+MENU LABEL Boot Arch Linux (NFS)
+LINUX boot/%ARCH%/vmlinuz
+INITRD boot/%ARCH%/archiso.img
+APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt
+IPAPPEND 3
+
+LABEL arch_http
+TEXT HELP
+Boot the Arch Linux live medium (Using HTTP). It allows you to install Arch Linux or
+perform system maintenance.
+ENDTEXT
+MENU LABEL Boot Arch Linux (HTTP)
+LINUX boot/%ARCH%/vmlinuz
+INITRD boot/%ARCH%/archiso.img
+APPEND archisobasedir=%INSTALL_DIR% archiso_curl_url=http://${pxeserver}/
+IPAPPEND 3
+
+LABEL arch_ftp
+TEXT HELP
+Boot the Arch Linux live medium (Using FTP). It allows you to install Arch Linux or
+perform system maintenance.
+ENDTEXT
+MENU LABEL Boot Arch Linux (FTP)
+LINUX boot/%ARCH%/vmlinuz
+INITRD boot/%ARCH%/archiso.img
+APPEND archisobasedir=%INSTALL_DIR% archiso_curl_url=ftp://${pxeserver}/
+IPAPPEND 3
diff --git a/configs/releng/syslinux/archiso_pxe_inc.cfg b/configs/releng/syslinux/archiso_pxe_inc.cfg
new file mode 100644
index 0000000..b2b6887
--- /dev/null
+++ b/configs/releng/syslinux/archiso_pxe_inc.cfg
@@ -0,0 +1,3 @@
+INCLUDE boot/syslinux/archiso_head.cfg
+INCLUDE boot/syslinux/archiso_pxe.cfg
+INCLUDE boot/syslinux/archiso_tail.cfg
diff --git a/configs/releng/syslinux/archiso_sys.cfg b/configs/releng/syslinux/archiso_sys.cfg
index 1326db8..35303db 100644
--- a/configs/releng/syslinux/archiso_sys.cfg
+++ b/configs/releng/syslinux/archiso_sys.cfg
@@ -7,4 +7,3 @@ MENU LABEL Boot Arch Linux
 LINUX boot/%ARCH%/vmlinuz
 INITRD boot/%ARCH%/archiso.img
 APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
-IPAPPEND 3
diff --git a/configs/releng/syslinux/archiso_sys_inc.cfg b/configs/releng/syslinux/archiso_sys_inc.cfg
new file mode 100644
index 0000000..56c6a17
--- /dev/null
+++ b/configs/releng/syslinux/archiso_sys_inc.cfg
@@ -0,0 +1,3 @@
+INCLUDE boot/syslinux/archiso_head.cfg
+INCLUDE boot/syslinux/archiso_sys.cfg
+INCLUDE boot/syslinux/archiso_tail.cfg
-- 
1.7.7.4



More information about the arch-releng mailing list