summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archiso/hooks/archiso5
-rwxr-xr-xarchiso/mkarchiso20
-rw-r--r--configs/install-iso/Makefile12
-rw-r--r--configs/install-iso/boot-files/grub/menu.lst6
4 files changed, 26 insertions, 17 deletions
diff --git a/archiso/hooks/archiso b/archiso/hooks/archiso
index 7168aff..1eb0832 100644
--- a/archiso/hooks/archiso
+++ b/archiso/hooks/archiso
@@ -32,9 +32,8 @@ run_hook ()
# external drives may need to settle
msg ":: Waiting for usb devices to settle..."
- /sbin/udevtrigger --subsystem-match=usb
- /sbin/udevsettle
- sleep 5
+ /sbin/udevadm trigger --subsystem-match=usb
+ /sbin/udevadm settle
msg ":: Scanning for boot device..."
diff --git a/archiso/mkarchiso b/archiso/mkarchiso
index 8d98f51..2e92fb2 100755
--- a/archiso/mkarchiso
+++ b/archiso/mkarchiso
@@ -182,29 +182,31 @@ command_image () {
if [ "$PKGLIST" = "grub" -o "$PKGLIST" = "grub-gfx" ]; then
#test for either (eww, gross)
tst=0
- pacman -Qi grub 2>&1 >/dev/null
+ pacman -Qi grub >/dev/null 2>&1
tst=$(($tst + $?))
- pacman -Qi grub-gfx 2>&1 >/dev/null
+ pacman -Qi grub-gfx >/dev/null 2>&1
tst=$(($tst + $?))
if [ $tst -ge 2 ]; then
echo "grub or grub-gfx not found on host system. Cannot install!"
exit 1
fi
- mkdir -p "${work_dir}/boot/grub/"
- cp -r /usr/lib/grub/i386-pc/* "${work_dir}/boot/grub"
- #TODO remove other grub cruft?
+ if [ ! -e "${work_dir}/boot/grub/stage2_eltorito" ]; then
+ echo "error: grub stage files not found in '${work_dir}/boot/grub"
+ exit 1
+ fi
bootflags="-b boot/grub/stage2_eltorito"
elif [ "$PKGLIST" = "isolinux" ]; then
- if ! pacman -Qi $PKGLIST 2>&1 >/dev/null; then
+ if ! pacman -Qi $PKGLIST >/dev/null 2>&1; then
echo "$PKGLIST not found on host system. Cannot install!"
exit 1
fi
- mkdir -p "${work_dir}/boot/isolinux"
- cp /usr/lib/isolinux/* "${work_dir}/boot/isolinux"
- #TODO remove other isolinux cruft?
+ if [ ! -e "${work_dir}/boot/isolinux/isolinux.bin" ]; then
+ echo "error: isolinux bin file not found in '${work_dir}/boot/isolinux"
+ exit 1
+ fi
bootflags="-b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat"
else
diff --git a/configs/install-iso/Makefile b/configs/install-iso/Makefile
index a04b43f..30247a7 100644
--- a/configs/install-iso/Makefile
+++ b/configs/install-iso/Makefile
@@ -26,15 +26,19 @@ ftp-iso: root-image boot-files
.PHONY: boot-files
boot-files:
- mkdir -p image-dir/boot/
+ mkdir -p image-dir/boot/grub/
+ #ick! this section needs reworking
+ cp -r work/usr/lib/grub/i386-pc/* image-dir/boot/grub
+ cp -r work/boot/* image-dir/boot/
cp -r boot-files/* image-dir/boot/
+ #end ick
mkinitcpio -c initcpio-ide -b work/ -k $(kver) -g image-dir/boot/archiso-ide.img
mkinitcpio -c initcpio-pata -b work/ -k $(kver) -g image-dir/boot/archiso-pata.img
root-image:
- chmod 0440 overlay/etc/sudoers
mkarchiso -v -p "`cat packages.list-$(ARCH)`" install work
cp -r overlay/* work
+ chmod 0440 work/etc/sudoers
mkdir image-dir/
mkarchiso -v squash work image-dir/root-image.sqfs
@@ -42,8 +46,8 @@ root-image:
.PHONY: core-pkgs
core-pkgs:
wget --mirror -P core-pkgs -nH --cut-dirs=3 ftp://ftp.archlinux.org/core/os/$(ARCH)
- mkdir image/
+ mkdir image-dir/
mkarchiso -v squash core-pkgs image-dir/core-pkgs.sqfs
clean:
- rm -rf work image
+ rm -rf work image-dir $(FTPname).img $(FTPname).iso $(COREname).img $(COREname).iso
diff --git a/configs/install-iso/boot-files/grub/menu.lst b/configs/install-iso/boot-files/grub/menu.lst
index 6755d09..e081aa8 100644
--- a/configs/install-iso/boot-files/grub/menu.lst
+++ b/configs/install-iso/boot-files/grub/menu.lst
@@ -5,7 +5,11 @@ splashimage=/boot/splash.xpm.gz
title Boot ArchLinux LiveCD
kernel /boot/vmlinuz26 lang=en locale=en_US.UTF-8 ramdisk_size=75%
-initrd /boot/archiso.img
+initrd /boot/archiso-ide.img
+
+title Boot ArchLinux LiveCD [Legacy PATA]
+kernel /boot/vmlinuz26 lang=en locale=en_US.UTF-8 ramdisk_size=75%
+initrd /boot/archiso-pata.img
title Tools...
configfile /boot/grub/tools.lst