[arch-releng] [PATCH 15/15] Remove archiso_early hook, use /dev/disk/by-label/${archisolabel} instead.

Gerardo Exequiel Pozzi vmlinuz386 at yahoo.com.ar
Wed Mar 17 00:52:55 CET 2010


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 at 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




More information about the arch-releng mailing list