1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- # 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}.img
- 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 $(MAKE_TRACE)
- # padding of images is required
- cat ${BIN_DIR}/${DEVICE}-${ARCH}-kernel ${BUILD_DIR}/root.squashfs > \
- ${BUILD_DIR}/${ROOTFSSQUASHFS}
- imageclean:
- rm -f $(BIN_DIR)/$(DEVICE)-*
|