[arch-releng] [PATCH 2/2] Use a label when generating the image and pass it to the commandline This will generate a label ARCHISO_$randomstring using the pwgen utility and add this label to the kernel command line. A new label will be generated for each image, so it can be uniquely identified.
Thomas Bächler
thomas at archlinux.org
Fri Jul 24 21:21:15 EDT 2009
---
archiso/mkarchiso | 7 ++++++-
configs/install-iso/Makefile | 4 ++--
configs/install-iso/boot-files/grub/menu.lst | 4 ++--
.../install-iso/boot-files/isolinux/isolinux.cfg | 4 ++--
4 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/archiso/mkarchiso b/archiso/mkarchiso
index 530403c..9d2dd30 100755
--- a/archiso/mkarchiso
+++ b/archiso/mkarchiso
@@ -214,6 +214,10 @@ _imgcommon () {
fi
cp "${work_dir}/isomounts" "${work_dir}/iso/"
+
+ export LABEL="ARCHISO_$(pwgen -n 8 1 | tr [a-z] [A-Z])"
+ [ -f ${work_dir}/iso/boot/grub/menu.lst ] && sed "s|archisolabel=[^ ]*|archisolabel=${LABEL}|" -i ${work_dir}/iso/boot/grub/menu.lst
+ [ -f ${work_dir}/iso/boot/isolinux/isolinux.cfg ] && sed "s|archisolabel=[^ ]*|archisolabel=${LABEL}|" -i ${work_dir}/iso/boot/isolinux/isolinux.cfg
}
command_iso () {
@@ -251,6 +255,7 @@ command_iso () {
-no-emul-boot -boot-load-size 4 -boot-info-table \
-publisher "Arch Linux <http://www.archlinux.org>" \
-A "Arch Linux Live/Rescue CD" \
+ -V "${LABEL}" \
-o "${imgname}" "${work_dir}/iso/"
}
@@ -267,7 +272,7 @@ command_usb () {
dd if=/dev/zero of="$fsimg" bs=512 count="$imgsz"
# create a filesystem on the image
- mke2fs -m 0 -F "$fsimg"
+ mke2fs -m 0 -F -L "${LABEL}" "$fsimg"
# mount the filesystem and copy data
modprobe loop
diff --git a/configs/install-iso/Makefile b/configs/install-iso/Makefile
index 77ed056..fbac10e 100644
--- a/configs/install-iso/Makefile
+++ b/configs/install-iso/Makefile
@@ -43,8 +43,8 @@ base-iso: root-image
cp isomounts $(WORKDIR)
sed -i "s|@ARCH@|$(ARCH)|g" "$(WORKDIR)/isomounts"
- mkinitcpio -c initcpio-ide -b $(WORKDIR)/root-image -k $(kver) -g $(WORKDIR)/iso/boot/archiso_ide.img
- mkinitcpio -c initcpio-pata -b $(WORKDIR)/root-image -k $(kver) -g $(WORKDIR)/iso/boot/archiso_pata.img
+ mkinitcpio -c ./initcpio-ide -b $(WORKDIR)/root-image -k $(kver) -g $(WORKDIR)/iso/boot/archiso_ide.img
+ mkinitcpio -c ./initcpio-pata -b $(WORKDIR)/root-image -k $(kver) -g $(WORKDIR)/iso/boot/archiso_pata.img
core-pkgs: base-iso
mkdir $(WORKDIR)/core-pkgs/
diff --git a/configs/install-iso/boot-files/grub/menu.lst b/configs/install-iso/boot-files/grub/menu.lst
index fd5a4bc..41a72f9 100644
--- a/configs/install-iso/boot-files/grub/menu.lst
+++ b/configs/install-iso/boot-files/grub/menu.lst
@@ -4,11 +4,11 @@ color light-blue/blue black/light-grey
splashimage=/boot/splash.xpm.gz
title Boot Arch Linux Live CD
-kernel /boot/vmlinuz26 lang=en locale=en_US.UTF-8 usbdelay=5 ramdisk_size=75%
+kernel /boot/vmlinuz26 lang=en locale=en_US.UTF-8 archisolabel=XXX ramdisk_size=75%
initrd /boot/archiso_pata.img
title Boot Arch Linux Live CD [Legacy IDE, no SATA]
-kernel /boot/vmlinuz26 lang=en locale=en_US.UTF-8 usbdelay=5 ramdisk_size=75%
+kernel /boot/vmlinuz26 lang=en locale=en_US.UTF-8 archisolabel=XXX ramdisk_size=75%
initrd /boot/archiso_ide.img
title Release Notes
diff --git a/configs/install-iso/boot-files/isolinux/isolinux.cfg b/configs/install-iso/boot-files/isolinux/isolinux.cfg
index d9e5084..793271e 100644
--- a/configs/install-iso/boot-files/isolinux/isolinux.cfg
+++ b/configs/install-iso/boot-files/isolinux/isolinux.cfg
@@ -8,11 +8,11 @@ DEFAULT arch
LABEL arch
KERNEL /boot/vmlinuz26
-APPEND lang=en locale=en_US.UTF-8 usbdelay=5 ramdisk_size=75% initrd=/boot/archiso_pata.img
+APPEND lang=en locale=en_US.UTF-8 archisolabel=XXX ramdisk_size=75% initrd=/boot/archiso_pata.img
LABEL archide
KERNEL /boot/vmlinuz26
-APPEND lang=en locale=en_US.UTF-8 usbdelay=5 ramdisk_size=75% initrd=/boot/archiso_ide.img
+APPEND lang=en locale=en_US.UTF-8 archisolabel=XXX ramdisk_size=75% initrd=/boot/archiso_ide.img
LABEL memtest
KERNEL /boot/memtest
--
1.6.3.3
More information about the arch-releng
mailing list