[arch-releng] [PATCH 2/3] [syslinux-cfg] Adjust to work with new -D option of mkarchiso

Gerardo Exequiel Pozzi vmlinuz386 at yahoo.com.ar
Wed Oct 20 23:38:43 EDT 2010


This is how ISO will look now:
/syslinux    only syslinux related files (syslinux.cfg, *.c32, etc)
/arch/       isomounts + *.sqfs images
/arch/boot/  Linux + initramfs + Memtest86+ + other files for early boot stage

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386 at yahoo.com.ar>
---
 configs/syslinux-iso/Makefile                      |   51 ++++++++++---------
 .../syslinux-iso/boot-files/syslinux/syslinux.cfg  |    8 ++--
 2 files changed, 31 insertions(+), 28 deletions(-)

diff --git a/configs/syslinux-iso/Makefile b/configs/syslinux-iso/Makefile
index 0298004..7bc3a45 100644
--- a/configs/syslinux-iso/Makefile
+++ b/configs/syslinux-iso/Makefile
@@ -1,6 +1,7 @@
 ver=$(shell date +%Y.%m.%d)
 
 WORKDIR=work
+INSTALL_DIR=arch
 
 ARCH?=$(shell uname -m)
 
@@ -19,9 +20,9 @@ core-iso: $(COREname)
 net-iso: $(NETname)
 
 $(COREname): core-pkgs base-fs
-	mkarchiso iso $(WORKDIR) $@
+	mkarchiso -D $(INSTALL_DIR) iso $(WORKDIR) $@
 $(NETname): base-fs
-	mkarchiso iso $(WORKDIR) $@
+	mkarchiso -D $(INSTALL_DIR) iso $(WORKDIR) $@
 
 # This is the main rule for make the working filesystem.
 base-fs: root-image bootfiles initcpio overlay iso-mounts
@@ -30,32 +31,34 @@ base-fs: root-image bootfiles initcpio overlay iso-mounts
 # Rules for make the root-image for base filesystem.
 root-image: $(WORKDIR)/root-image/.arch-chroot
 $(WORKDIR)/root-image/.arch-chroot:
-	mkarchiso -p base create $(WORKDIR)
-	mkarchiso -p $(PACKAGES) create $(WORKDIR)
+	mkarchiso -D $(INSTALL_DIR) -p base create $(WORKDIR)
+	mkarchiso -D $(INSTALL_DIR) -p $(PACKAGES) create $(WORKDIR)
 
 # Rule for make /boot
 bootfiles: root-image
-	mkdir -p $(WORKDIR)/iso/boot
-	cp $(WORKDIR)/root-image/boot/System.map26 $(WORKDIR)/iso/boot/
-	cp $(WORKDIR)/root-image/boot/vmlinuz26 $(WORKDIR)/iso/boot/
-	cp $(WORKDIR)/root-image/boot/memtest86+/memtest.bin $(WORKDIR)/iso/boot/memtest
-	cp $(WORKDIR)/root-image/usr/share/licenses/common/GPL2/license.txt $(WORKDIR)/iso/boot/memtest.COPYING
-	cp -r boot-files/* $(WORKDIR)/iso/boot/
-	cp $(WORKDIR)/root-image/usr/lib/syslinux/*.c32 $(WORKDIR)/iso/boot/syslinux/
-	cp $(WORKDIR)/root-image/usr/lib/syslinux/poweroff.com $(WORKDIR)/iso/boot/syslinux/
-	cp $(WORKDIR)/root-image/usr/lib/syslinux/isolinux.bin $(WORKDIR)/iso/boot/syslinux/
-	cp $(WORKDIR)/root-image/usr/lib/syslinux/memdisk $(WORKDIR)/iso/boot/syslinux/
-	cp $(WORKDIR)/root-image/usr/lib/syslinux/pxelinux.0 $(WORKDIR)/iso/boot/syslinux/
-	cp $(WORKDIR)/root-image/usr/lib/syslinux/gpxelinux.0 $(WORKDIR)/iso/boot/syslinux/
+	mkdir -p $(WORKDIR)/iso/$(INSTALL_DIR)/boot
+	cp $(WORKDIR)/root-image/boot/System.map26 $(WORKDIR)/iso/$(INSTALL_DIR)/boot/
+	cp $(WORKDIR)/root-image/boot/vmlinuz26 $(WORKDIR)/iso/$(INSTALL_DIR)/boot/
+	cp $(WORKDIR)/root-image/boot/memtest86+/memtest.bin $(WORKDIR)/iso/$(INSTALL_DIR)/boot/memtest
+	cp $(WORKDIR)/root-image/usr/share/licenses/common/GPL2/license.txt $(WORKDIR)/iso/$(INSTALL_DIR)/boot/memtest.COPYING
+	cp boot-files/splash.png $(WORKDIR)/iso/$(INSTALL_DIR)/boot/
+	mkdir -p $(WORKDIR)/iso/syslinux
+	cp $(WORKDIR)/root-image/usr/lib/syslinux/*.c32 $(WORKDIR)/iso/syslinux/
+	cp $(WORKDIR)/root-image/usr/lib/syslinux/poweroff.com $(WORKDIR)/iso/syslinux/
+	cp $(WORKDIR)/root-image/usr/lib/syslinux/isolinux.bin $(WORKDIR)/iso/syslinux/
+	cp $(WORKDIR)/root-image/usr/lib/syslinux/memdisk $(WORKDIR)/iso/syslinux/
+	cp $(WORKDIR)/root-image/usr/lib/syslinux/pxelinux.0 $(WORKDIR)/iso/syslinux/
+	cp $(WORKDIR)/root-image/usr/lib/syslinux/gpxelinux.0 $(WORKDIR)/iso/syslinux/
+	cp boot-files/syslinux/syslinux.cfg $(WORKDIR)/iso/syslinux/syslinux.cfg
 	# Add pci.ids and modules.alias for hdt
-	mkdir -p $(WORKDIR)/iso/boot/syslinux/hdt/
-	wget -O - http://pciids.sourceforge.net/v2.2/pci.ids | gzip -9 > $(WORKDIR)/iso/boot/syslinux/hdt/pciids.gz
-	cat $(WORKDIR)/root-image/lib/modules/$(shell grep ^ALL_kver $(kver_FILE) | cut -d= -f2)/modules.alias | gzip -9 > $(WORKDIR)/iso/boot/syslinux/hdt/modalias.gz
+	mkdir -p $(WORKDIR)/iso/syslinux/hdt/
+	wget -O - http://pciids.sourceforge.net/v2.2/pci.ids | gzip -9 > $(WORKDIR)/iso/syslinux/hdt/pciids.gz
+	cat $(WORKDIR)/root-image/lib/modules/$(shell grep ^ALL_kver $(kver_FILE) | cut -d= -f2)/modules.alias | gzip -9 > $(WORKDIR)/iso/syslinux/hdt/modalias.gz
 
 # Rules for initcpio images
-initcpio: $(WORKDIR)/iso/boot/archiso.img
-$(WORKDIR)/iso/boot/archiso.img: mkinitcpio.conf $(WORKDIR)/root-image/.arch-chroot
-	mkdir -p $(WORKDIR)/iso/boot
+initcpio: $(WORKDIR)/iso/$(INSTALL_DIR)/boot/archiso.img
+$(WORKDIR)/iso/$(INSTALL_DIR)/boot/archiso.img: mkinitcpio.conf $(WORKDIR)/root-image/.arch-chroot
+	mkdir -p $(WORKDIR)/iso/$(INSTALL_DIR)/boot
 	mkinitcpio -c ./mkinitcpio.conf -b $(WORKDIR)/root-image -k $(shell grep ^ALL_kver $(kver_FILE) | cut -d= -f2) -g $@
 
 
@@ -68,8 +71,8 @@ overlay:
 
 
 # Rule to process isomounts file.
-iso-mounts: $(WORKDIR)/isomounts
-$(WORKDIR)/isomounts: isomounts root-image
+iso-mounts: $(WORKDIR)/iso/$(INSTALL_DIR)/isomounts
+$(WORKDIR)/iso/$(INSTALL_DIR)/isomounts: isomounts root-image
 	sed "s|@ARCH@|$(ARCH)|g" isomounts > $@
 
 
diff --git a/configs/syslinux-iso/boot-files/syslinux/syslinux.cfg b/configs/syslinux-iso/boot-files/syslinux/syslinux.cfg
index 15a9fd7..3ce985b 100644
--- a/configs/syslinux-iso/boot-files/syslinux/syslinux.cfg
+++ b/configs/syslinux-iso/boot-files/syslinux/syslinux.cfg
@@ -1,7 +1,7 @@
 DEFAULT vesamenu.c32
 PROMPT 0
 MENU TITLE Arch Linux
-MENU BACKGROUND /boot/splash.png
+MENU BACKGROUND /%INSTALL_DIR%/boot/splash.png
 TIMEOUT 3000
 
 # TODO: Replace these crappy messages with something useful
@@ -37,8 +37,8 @@ Boot the Arch Linux live medium. It allows you to install Arch Linux or
 perform system maintenance.
 ENDTEXT
 MENU LABEL Boot Arch Linux
-LINUX /boot/vmlinuz26
-APPEND initrd=/boot/archiso.img archisolabel=XXX rw_branch_size=75% locale=en_US.UTF-8
+LINUX /%INSTALL_DIR%/boot/vmlinuz26
+APPEND initrd=/%INSTALL_DIR%/boot/archiso.img archisobasedir=%INSTALL_DIR% archisolabel=XXX rw_branch_size=75% locale=en_US.UTF-8
 # Next line should be uncommented when prepare enviroment to boot from PXE.
 #IPAPPEND 3
 
@@ -54,7 +54,7 @@ APPEND hd0 0
 # http://www.memtest.org/
 LABEL memtest
 MENU LABEL Run Memtest86+ (RAM test)
-LINUX /boot/memtest
+LINUX /%INSTALL_DIR%/boot/memtest
 
 # http://hdt-project.org/
 LABEL hdt
-- 
1.7.3.1




More information about the arch-releng mailing list