isolinux.mk: Shifted most functionality into generate_boot_medium.sh

This commit is contained in:
Jan Lindemann 2006-06-29 17:43:13 +00:00 committed by Jan Lindemann
commit ad2b15e3b2

View file

@ -1,13 +1,5 @@
# == defs
# -- overwrite these >>
ifeq ($(ROOT_FS_DEVICE),)
ROOT_FS_DEVICE = /dev/hda1
endif
BOOT_FILES = $(wildcard /boot/*$(shell uname -r)*)
# -- overwrite these <<
URL = http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.11.tar.bz2
DLOAD_DIR = /home/samba/dat/share/exe/linux/syslinux
DLOAD_PKG = $(DLOAD_DIR)/$(notdir $(URL))
@ -16,20 +8,12 @@ DIRS = $(DLOAD_DIR) $(BUILD_DIR)
UNPACK_DIR = $(notdir $(shell echo $(DLOAD_PKG) | sed 's/.tar.bz2$$//'))
ISO_IMAGE = image.iso
ISOLINUX_BIN = $(UNPACK_DIR)/isolinux.bin
ISOLINUX_CFG = isolinux.cfg
INITRD = /boot/initrd
CD_FILES = \
$(BOOT_FILES) \
$(UNPACK_DIR)/com32/modules/menu.c32 \
$(INITRD) \
$(ISOLINUX_BIN) \
$(ISOLINUX_CFG)
$(ISOLINUX_BIN)
KERNELS = $(shell file $(BOOT_FILES) | grep -ie 'linux.*kernel' | sed 's/:.*//')
export ROOT_FS_DEVICE
# == targets
all: $(ISO_IMAGE)
@ -38,7 +22,6 @@ clean:
rm -rf *.done
rm -rf $(BUILD_DIR) $(UNPACK_DIR)
rm -f $(ISO_IMAGE)
rm -f $(ISOLINUX_CFG)
distclean: clean
@ -51,6 +34,8 @@ dirs.done:
$(DLOAD_PKG):
wget -c $(URL) -P $(DLOAD_DIR)
$(UNPACK_DIR)/com32/modules/menu.c32: unpack.done
dload.done: $(DLOAD_PKG)
touch $@
@ -58,34 +43,9 @@ unpack.done: dload.done
tar -xjf $(DLOAD_PKG)
touch $@
NAME_FILTER = tr [A-Z] [a-z] | sed 's/\.tar\.gz/.tgz/; s/-/_/g; s/\([^.]*\)\.\([^.]*\)$$/\1@\2/; s/\./_/g; s/@/./'
GENERATE = sh $(MODDIR)/devutil/scripts/generate_boot_medium.sh
BOOT_CONF = boot.conf
copy.done: unpack.done dirs.done $(CD_FILES)
mkdir -p $(BUILD_DIR)
for i in $(CD_FILES); do \
n=`basename $$i | $(NAME_FILTER)` ;\
echo "copying $$i -> $(BUILD_DIR)/$$n" ;\
cp $$i $(BUILD_DIR)/$$n ;\
done
touch $@
$(ISO_IMAGE): copy.done
mkisofs -l --iso-level 2 -o $(ISO_IMAGE) \
-b isolinux.bin -c boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
$(BUILD_DIR)
# n =`basename $$k | tr [A-Z] [a-z] | sed 's/\.tar\.gz/.tgz/; s/-/_/g; s/\([^.]*\)\.\([^.]*\)$$/\1@\2/; s/\./_/g; s/@/./'` ;\
isolinux.cfg:
( \
echo DEFAULT menu.c32 ;\
echo PROMPT 0 ;\
for k in $(notdir $(KERNELS)); do \
l=`echo $$k | sed 's/vmlinuz-//g'` ;\
i=`echo initrd-$$l | $(NAME_FILTER)` ;\
n=`basename $$k | $(NAME_FILTER)` ;\
echo -e "LABEL $$l\n KERNEL $$n\n APPEND initrd=$$i root=$(ROOT_FS_DEVICE)" ;\
done \
) > $@
$(ISO_IMAGE): $(BOOT_CONF) dirs.done $(CD_FILES)
$(GENERATE) -o $@ -d $(BUILD_DIR) -f $< $(CD_FILES)