From 8d57752cedf7ecef5bf7b017755c7fc8274578b0 Mon Sep 17 00:00:00 2001 From: Gerhard Brauer Date: Sun, 26 Jul 2009 11:00:44 +0200 Subject: 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. Patch from brain0 Signed-off-by: Gerhard Brauer Signed-off-by: Aaron Griffin --- archiso/mkarchiso | 7 ++++++- configs/install-iso/Makefile | 4 ++-- configs/install-iso/boot-files/grub/menu.lst | 4 ++-- configs/install-iso/boot-files/isolinux/isolinux.cfg | 4 ++-- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/archiso/mkarchiso b/archiso/mkarchiso index 2f51ef1..7b706ca 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 " \ -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 fad177c..83e618b 100644 --- a/configs/install-iso/Makefile +++ b/configs/install-iso/Makefile @@ -44,8 +44,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 -- cgit v1.2.3-70-g09d2