[arch-releng] Note about removing archiso_early hook.

Gerardo Exequiel Pozzi vmlinuz386 at yahoo.com.ar
Tue Mar 2 20:08:43 EST 2010

Hi, just to leave in some visible place this experiment if some is 

My idea: remove archiso_early hook, and take the advantage of symlink 
/dev/disk/by-label/XYZ created by 60-persistent-storage.rules installed 
via udev hook, without doing other tricks.

* OK: when booting in cdrom mode.
* FAIL: when booting in disk mode.

The reason is because hybrid mode (via isohybrid).
* The LABEL is defined at first sector of iso "sda" (simulate a MBR) 
also there is a fake partition "sda1" (with offset 1 [+512 bytes ahead 
of sda]) so you can create another partitions on the destination media.
* When mount the UDF filesystem, sda is mounted and not sda1 (sda1 is 
just a fake part to avoid overwriting data).
* There is a udev rule at 60-persistent-storage.rules that make all 
parent (sda in this case) ID_* env data available to childrens (sda1 in 
this case), so sda1 inherits the LABEL, and this data is not overwrited 
because blkid fail (remember sda1 is not a real partition)

* /dev/disk/by-label/XYZ points to /dev/sda1 instead of /dev/sda. (when 
isohybrid offset > 0)

What works:
* if offset = 0 will works, but doing this we lost the capability of 
create another partitions in the medium that .iso is copied (USB media)
* Also works on real partition scheme (usb drive with the real MBR, and 
real partiton with label)
* As said before if boot as cdrom.

* Keep with archiso_early, that is pretty simple and does not require 
other tools [#1]

If some is interested in changes for your personal usage, the patch is 
here [#2]

[#1] http://bugs.archlinux.org/task/18523 [mkinitcpio] usb_id, ata_id, 
scsi_id, path_id: should be added to udev install hook?
[#2] https://gist.github.com/1f6f5a67008bf3b927ee

Gerardo Exequiel Pozzi ( djgera )
KeyID: 0x1B8C330D
Key fingerprint = 0CAA D5D4 CD85 4434 A219  76ED 39AB 221B 1B8C 330D

More information about the arch-releng mailing list