1 #############################################################
3 # mkisofs to build to target iso9660 filesystems
5 #############################################################
6 MKISOFS_SOURCE
:=cdrtools-2.01.
tar.bz2
8 MKISOFS_SITE
:=ftp
://ftp.berlios.de
/pub
/cdrecord
/
9 MKISOFS_DIR
:=$(BUILD_DIR
)/cdrtools-2.01
10 MKISOFS_TARGET
:=$(MKISOFS_DIR
)/mkisofs
/OBJ
/i686-linux-cc
/mkisofs
12 $(DL_DIR
)/$(MKISOFS_SOURCE
):
13 $(WGET
) -P
$(DL_DIR
) $(MKISOFS_SITE
)/$(MKISOFS_SOURCE
)
15 mkisofs-source
: $(DL_DIR
)/$(MKISOFS_SOURCE
)
17 $(MKISOFS_DIR
)/.unpacked
: $(DL_DIR
)/$(MKISOFS_SOURCE
)
18 $(MKISOFS_CAT
) $(DL_DIR
)/$(MKISOFS_SOURCE
) |
tar -C
$(BUILD_DIR
) $(TAR_OPTIONS
) -
19 toolchain
/patch-kernel.sh
$(MKISOFS_DIR
) target
/iso9660
/ \
*.patch
22 $(MKISOFS_DIR
)/.configured
: $(MKISOFS_DIR
)/.unpacked
23 (cd
$(MKISOFS_DIR
); rm -rf config.cache
; \
27 $(MKISOFS_TARGET
): $(MKISOFS_DIR
)/.configured
28 $(MAKE
) -C
$(MKISOFS_DIR
)
29 touch
-c
$(MKISOFS_DIR
)/mkisofs
31 mkisofs
: $(MKISOFS_TARGET
)
34 -$(MAKE
) -C
$(MKISOFS_DIR
) clean
40 #############################################################
42 # Build the iso96600 root filesystem image
44 #############################################################
46 ISO9660_TARGET_DIR
=$(BUILD_DIR
)/iso9660
47 ISO9660_TARGET
:=$(subst ",,$(BR2_TARGET_ROOTFS_ISO9660_OUTPUT))
49 ISO9660_BOOT_MENU
:=$(subst ",,$(BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU))
53 ifeq ($(BR2_TARGET_ROOTFS_ISO9660_SQUASH
),y
)
57 $(ISO9660_TARGET
): host-fakeroot
$(LINUX_KERNEL
) $(EXT2_TARGET
) grub mkisofs
58 rm -rf
$(ISO9660_TARGET_DIR
)
59 $(INSTALL
) -d
$(ISO9660_TARGET_DIR
)/boot
/grub
60 cp
$(GRUB_DIR
)/stage2
/stage2_eltorito
$(ISO9660_TARGET_DIR
)/boot
/grub
/
61 cp
$(ISO9660_BOOT_MENU
) $(ISO9660_TARGET_DIR
)/boot
/grub
/menu.lst
62 cp
$(LINUX_KERNEL
) $(ISO9660_TARGET_DIR
)/kernel
63 ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS
),)
64 $(INSTALL
) $(EXT2_TARGET
) $(ISO9660_TARGET_DIR
)/initrd
66 $(SED
) '/^initrd/d' $(ISO9660_TARGET_DIR
)/boot
/grub
/menu.lst
68 # Use fakeroot to pretend all target binaries are owned by root
69 rm -f
$(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(ISO9660_TARGET
))
70 touch
$(PROJECT_BUILD_DIR
)/.fakeroot
.00000
71 cat
$(PROJECT_BUILD_DIR
)/.fakeroot
* > $(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(ISO9660_TARGET
))
72 echo
"chown -R 0:0 $(ISO9660_TARGET_DIR)" >> $(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(ISO9660_TARGET
))
73 # Use fakeroot so mkisofs believes the previous fakery
74 echo
"$(MKISOFS_TARGET) -R -b boot/grub/stage2_eltorito -no-emul-boot " \
75 "-boot-load-size 4 -boot-info-table -o $(ISO9660_TARGET) $(ISO9660_TARGET_DIR)" \
76 >> $(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(ISO9660_TARGET
))
77 chmod a
+x
$(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(ISO9660_TARGET
))
78 $(STAGING_DIR
)/usr
/bin
/fakeroot
-- $(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(ISO9660_TARGET
))
79 -@
rm -f
$(PROJECT_BUILD_DIR
)/_fakeroot.
$(notdir $(ISO9660_TARGET
))
81 iso9660root
: $(ISO9660_TARGET
)
82 echo
$(ISO9660_TARGET
)
83 @ls
-l
$(ISO9660_TARGET
)
85 iso9660root-source
: mkisofs-source
87 iso9660root-clean
: mkisofs-clean
89 iso9660root-dirclean
: mkisofs-dirclean
92 #############################################################
94 # Toplevel Makefile options
96 #############################################################
97 ifeq ($(BR2_TARGET_ROOTFS_ISO9660
),y
)