# $Id$ #- # This file is part of the OpenADK project. OpenADK is copyrighted # material, please see the LICENCE file in the top-level directory. imageprepare: kernel-install image-prepare-post image-prepare-post: rng=/dev/arandom; test -e $$rng || rng=/dev/urandom; \ dd if=$$rng bs=512 count=1 >>${TARGET_DIR}/etc/.rnd 2>/dev/null; \ chmod 600 ${TARGET_DIR}/etc/.rnd # Sanity checks @cd ${TARGET_DIR}; ls=; ln=; li=; x=1; md5sum $$(find . -type f) | \ sed -e "s/*//" | \ while read sum name; do \ inode=$$(ls -i "$$name"); \ echo "$$sum $${inode%% *} $$name"; \ done | sort | while read sum inode name; do \ if [[ $$sum = $$ls ]]; then \ [[ $$li = $$inode ]] && continue; \ case $$x in \ 1) echo 'WARNING: duplicate files found' \ 'in filesystem! Please fix them.' >&2; \ echo -n "> $$ln "; \ ;; \ 2) echo -n "> $$ln "; \ ;; \ 3) echo -n ' '; \ ;; \ esac; \ echo -n "$$name"; \ x=3; \ else \ case $$x in \ 3) echo; \ x=2; \ ;; \ esac; \ fi; \ ls=$$sum; \ ln=$$name; \ li=$$inode; \ done chmod 4511 ${TARGET_DIR}/bin/busybox chmod 1777 ${TARGET_DIR}/tmp INITRAMFS= ${DEVICE}-${ARCH}-${FS} ROOTFSSQUASHFS= ${DEVICE}-${ARCH}-${FS}.fimage ROOTFSTARBALL= ${DEVICE}-${ARCH}-${FS}.tar.gz ${BIN_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR} cd ${TARGET_DIR}; tar -cf - --owner=0 --group=0 . | gzip -n9 >$@ ${BIN_DIR}/${INITRAMFS}: ${TARGET_DIR} cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | sort | \ cpio -R 0:0 --quiet -oC512 -Mdist -Hnewc | gzip -n9 >$@ ${BIN_DIR}/${ROOTFSSQUASHFS}: ${TARGET_DIR} PATH='${TARGET_PATH}' \ mksquashfs ${TARGET_DIR} ${BUILD_DIR}/root.squashfs \ -nopad -noappend -root-owned -le $(MAKE_TRACE) # padding of images is required cat ${BIN_DIR}/${DEVICE}-${ARCH}-kernel ${BUILD_DIR}/root.squashfs > \ ${BUILD_DIR}/${ROOTFSSQUASHFS} dd if=${BUILD_DIR}/${ROOTFSSQUASHFS} of=${BIN_DIR}/${ROOTFSSQUASHFS} \ bs=4063232 conv=sync $(MAKE_TRACE) imageclean: rm -f $(BIN_DIR)/$(DEVICE)-*