1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 imageprepare
: kernel-install image-prepare-post extra-install
6 # if an extra directory exist in TOPDIR, copy all content over the
7 # root directory, do the same if make extra=/dir/to/extra is used
9 @if
[ -d
$(TOPDIR
)/extra
];then
$(CP
) $(TOPDIR
)/extra
/* ${TARGET_DIR};fi
10 @if
[ ! -z
$(extra
) ];then
$(CP
) $(extra
)/* ${TARGET_DIR};fi
13 rng
=/dev
/arandom
; test -e
$$rng || rng
=/dev
/urandom
; \
14 dd if
=$$rng bs
=512 count
=1 >>${TARGET_DIR}/etc
/.rnd
2>/dev
/null
; \
15 chmod
600 ${TARGET_DIR}/etc
/.rnd
16 @cd
${TARGET_DIR}; ls
=; ln
=; li
=; x
=1; md5sum
$$(find .
-type f
) | \
18 while read sum name
; do \
19 inode
=$$(ls
-i
"$$name"); \
20 echo
"$$sum $${inode%% *} $$name"; \
21 done |
sort | while read sum inode name
; do \
22 if
[[ $$sum = $$ls ]]; then \
23 [[ $$li = $$inode ]] && continue
; \
25 1) echo
'WARNING: duplicate files found' \
26 'in filesystem! Please fix them.' >&2; \
29 2) echo
-n
"> $$ln "; \
47 chmod
4511 ${TARGET_DIR}/bin
/busybox
48 chmod
1777 ${TARGET_DIR}/tmp
49 @if
[ -d
${TARGET_DIR}/usr
/share
/fonts
/X11
];then \
50 for i in
$$(ls
${TARGET_DIR}/usr
/share
/fonts
/X11
/);do \
51 mkfontdir
${TARGET_DIR}/usr
/share
/fonts
/X11
/$${i}; \
55 INITRAMFS
= ${ADK_TARGET}-${ADK_LIBC}-${FS}
56 ROOTFSSQUASHFS
= ${ADK_TARGET}-${ADK_LIBC}-${FS}.img
57 ROOTFSTARBALL
= ${ADK_TARGET}-${ADK_LIBC}-${FS}+kernel.
tar.gz
58 ROOTFSUSERTARBALL
= ${ADK_TARGET}-${ADK_LIBC}-${FS}.
tar.gz
59 INITRAMFS_PIGGYBACK
= ${ADK_TARGET}-${ADK_LIBC}-${FS}.cpio
61 ${BIN_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR}
62 cd
${TARGET_DIR}; tar -cf
- --owner
=0 --group
=0 . | gzip
-n9
>$@
64 ${BIN_DIR}/${ROOTFSUSERTARBALL}: ${TARGET_DIR}
65 cd
${TARGET_DIR}; tar --exclude .
/boot
-cf
- --owner
=0 --group
=0 . \
68 ${BIN_DIR}/${INITRAMFS}: ${TARGET_DIR}
69 cd
${TARGET_DIR}; find . | sed
-n
'/^\.\//s///p' |
sort | \
70 cpio
-R
0:0 -oC512
-Mdist
-Hnewc |
${ADK_COMPRESSION_TOOL} >$@
72 ${BUILD_DIR}/${INITRAMFS_PIGGYBACK}: ${TARGET_DIR}
73 cd
${TARGET_DIR}; find . | sed
-n
'/^\.\//s///p' |
sort | \
74 cpio
-R
0:0 -oC512
-Mdist
-Hnewc
>$@
76 ${BIN_DIR}/${ROOTFSSQUASHFS}: ${TARGET_DIR}
77 PATH
='${TARGET_PATH}' \
78 mksquashfs
${TARGET_DIR} ${BUILD_DIR}/root.squashfs \
79 -nopad
-noappend
-root-owned
$(MAKE_TRACE
)
80 cat
${BIN_DIR}/${ADK_TARGET}-${FS}-kernel \
81 ${BUILD_DIR}/root.squashfs
> \
82 ${BUILD_DIR}/${ROOTFSSQUASHFS}
85 rm -f
$(BIN_DIR
)/$(ADK_TARGET
)-* ${BUILD_DIR}/$(ADK_TARGET
)-*