[arch-releng] [PATCH 14/15] [syslinux-iso] Set iso and kernel version dynamically.
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> --- configs/syslinux-iso/Makefile | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/configs/syslinux-iso/Makefile b/configs/syslinux-iso/Makefile index 9368d1e..04c2de1 100644 --- a/configs/syslinux-iso/Makefile +++ b/configs/syslinux-iso/Makefile @@ -1,5 +1,4 @@ -ver=2010.03 -kver=2.6.32-ARCH +ver=$(shell date +%Y.%m.%d) WORKDIR=work @@ -11,6 +10,8 @@ COREname=$(PWD)/archlinux-$(ver)-core-$(ARCH).iso PACKAGES="$(shell cat packages.$(ARCH))" +kver_FILE=$(WORKDIR)/root-image/etc/mkinitcpio.d/kernel26.kver + all: net-iso core-iso # Rules for each type of image @@ -48,7 +49,7 @@ bootfiles: root-image initcpio: $(WORKDIR)/iso/boot/archiso.img $(WORKDIR)/iso/boot/archiso.img: mkinitcpio.conf $(WORKDIR)/root-image/.arch-chroot mkdir -p $(WORKDIR)/iso/boot - mkinitcpio -c ./mkinitcpio.conf -b $(WORKDIR)/root-image -k $(kver) -g $@ + mkinitcpio -c ./mkinitcpio.conf -b $(WORKDIR)/root-image -k $(shell grep ^ALL_kver $(kver_FILE) | cut -d= -f2) -g $@ # overlay filesystem -- 1.7.0.2
Takes the advantage of already symlinks created on /dev/disk/by-label/ by 60-persistent-storage.rules add by udev hook. Tested on: * Real machine as CD-ROM and USB key drive. * KVM as CD-ROM and DISK (for both modes, in combination with IDE and SCSI) * VirtualBox as IDE CD-ROM. IMPORTANT note: Since isohybrid is a hack, if more partitions are added to USB key drive, filesystem on these partitions MUST have LABEL, otherwise USB key will fail to boot. Anyway there is an option archisodevice=, to force and specific device where live-media reside. (Maybe isohybrid will change the hack method used in a future) More info at: http://mailman.archlinux.org/pipermail/arch-releng/2010-March/000890.html http://mailman.archlinux.org/pipermail/arch-releng/2010-March/000913.html Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> --- archiso/Makefile | 4 ---- archiso/hooks/archiso | 2 +- archiso/hooks/archiso_early | 8 -------- archiso/install/archiso | 6 ++++++ archiso/install/archiso_early | 9 --------- configs/syslinux-iso/mkinitcpio.conf | 2 +- 6 files changed, 8 insertions(+), 23 deletions(-) delete mode 100644 archiso/hooks/archiso_early delete mode 100644 archiso/install/archiso_early diff --git a/archiso/Makefile b/archiso/Makefile index eab4f66..a109547 100644 --- a/archiso/Makefile +++ b/archiso/Makefile @@ -7,9 +7,7 @@ install: all install -D -m 755 testiso $(DESTDIR)/usr/bin/testiso # hooks/install are needed by mkinitcpio install -D -m 644 hooks/archiso $(DESTDIR)/lib/initcpio/hooks/archiso - install -D -m 644 hooks/archiso_early $(DESTDIR)/lib/initcpio/hooks/archiso_early install -D -m 644 install/archiso $(DESTDIR)/lib/initcpio/install/archiso - install -D -m 644 install/archiso_early $(DESTDIR)/lib/initcpio/install/archiso_early # install docs and examples install -d -m 644 $(DESTDIR)/usr/share/archiso/ cp -r ../configs $(DESTDIR)/usr/share/archiso/configs @@ -19,8 +17,6 @@ uninstall: rm -f $(DESTDIR)/usr/sbin/mkarchiso rm -f $(DESTDIR)/usr/bin/testiso rm -f $(DESTDIR)/lib/initcpio/hooks/archiso - rm -f $(DESTDIR)/lib/initcpio/hooks/archiso_early rm -f $(DESTDIR)/lib/initcpio/install/archiso - rm -f $(DESTDIR)/lib/initcpio/install/archiso_early rm -rf $(DESTDIR)/usr/share/archiso/ rm -rf $(DESTDIR)/usr/share/doc/archiso/ diff --git a/archiso/hooks/archiso b/archiso/hooks/archiso index 592003b..e1ad81a 100644 --- a/archiso/hooks/archiso +++ b/archiso/hooks/archiso @@ -61,7 +61,7 @@ run_hook () { fi if [ "x${archisodevice}" = "x" ]; then - archisodevice="/dev/archiso" + archisodevice="/dev/disk/by-label/${archisolabel}" fi # set mount handler for archiso diff --git a/archiso/hooks/archiso_early b/archiso/hooks/archiso_early deleted file mode 100644 index 465e105..0000000 --- a/archiso/hooks/archiso_early +++ /dev/null @@ -1,8 +0,0 @@ -# vim: set ft=sh: -run_hook () -{ - if [ -n "${archisolabel}" ]; then - echo "ACTION==\"add|change\", SUBSYSTEM==\"block\", IMPORT{program}=\"/sbin/blkid -o udev -p \$tempnode\"" > /lib/udev/rules.d/00-archiso-device.rules - echo "ENV{ID_FS_LABEL_ENC}==\"${archisolabel}\", SYMLINK+=\"archiso\"" >> /lib/udev/rules.d/00-archiso-device.rules - fi -} diff --git a/archiso/install/archiso b/archiso/install/archiso index d01ab25..ee51da7 100644 --- a/archiso/install/archiso +++ b/archiso/install/archiso @@ -12,7 +12,13 @@ install () add_dir /tmpfs add_dir /tmpfs.sqfs add_dir /bootmnt + add_device /dev/loop0 b 7 0 + + add_binary /lib/udev/cdrom_id + + add_file /lib/udev/rules.d/60-cdrom_id.rules + SCRIPT="archiso" } diff --git a/archiso/install/archiso_early b/archiso/install/archiso_early deleted file mode 100644 index 818fc7b..0000000 --- a/archiso/install/archiso_early +++ /dev/null @@ -1,9 +0,0 @@ -install () -{ - MODULES="" - BINARIES="" - FILES="" - SCRIPT="archiso_early" -} - -# vim:ft=sh:ts=4:sw=4:et: diff --git a/configs/syslinux-iso/mkinitcpio.conf b/configs/syslinux-iso/mkinitcpio.conf index 6445456..581385d 100644 --- a/configs/syslinux-iso/mkinitcpio.conf +++ b/configs/syslinux-iso/mkinitcpio.conf @@ -2,5 +2,5 @@ MODULES="" BINARIES="" FILES="" -HOOKS="base archiso_early udev archiso pata scsi sata usb fw pcmcia filesystems usbinput" +HOOKS="base udev archiso pata scsi sata usb fw pcmcia filesystems usbinput" COMPRESSION="lzma" -- 1.7.0.2
On 03/16/2010 08:52 PM, Gerardo Exequiel Pozzi wrote:
Signed-off-by: Gerardo Exequiel Pozzi<vmlinuz386@yahoo.com.ar> --- configs/syslinux-iso/Makefile | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/configs/syslinux-iso/Makefile b/configs/syslinux-iso/Makefile index 9368d1e..04c2de1 100644 --- a/configs/syslinux-iso/Makefile +++ b/configs/syslinux-iso/Makefile @@ -1,5 +1,4 @@ -ver=2010.03 -kver=2.6.32-ARCH +ver=$(shell date +%Y.%m.%d)
WORKDIR=work
@@ -11,6 +10,8 @@ COREname=$(PWD)/archlinux-$(ver)-core-$(ARCH).iso
PACKAGES="$(shell cat packages.$(ARCH))"
+kver_FILE=$(WORKDIR)/root-image/etc/mkinitcpio.d/kernel26.kver + all: net-iso core-iso
# Rules for each type of image @@ -48,7 +49,7 @@ bootfiles: root-image initcpio: $(WORKDIR)/iso/boot/archiso.img $(WORKDIR)/iso/boot/archiso.img: mkinitcpio.conf $(WORKDIR)/root-image/.arch-chroot mkdir -p $(WORKDIR)/iso/boot - mkinitcpio -c ./mkinitcpio.conf -b $(WORKDIR)/root-image -k $(kver) -g $@ + mkinitcpio -c ./mkinitcpio.conf -b $(WORKDIR)/root-image -k $(shell grep ^ALL_kver $(kver_FILE) | cut -d= -f2) -g $@
# overlay filesystem
side effect: "make clean" will no clean old .iso images (for example passed midnight). -- Gerardo Exequiel Pozzi ( djgera ) http://www.djgera.com.ar KeyID: 0x1B8C330D Key fingerprint = 0CAA D5D4 CD85 4434 A219 76ED 39AB 221B 1B8C 330D
participants (1)
-
Gerardo Exequiel Pozzi