5 TARGET
= arm-crux-linux-gnueabi
10 CLFS
= $(TOPDIR
)/..
/toolchain
/clfs
11 CROSSTOOLS
= $(TOPDIR
)/..
/toolchain
/crosstools
14 KERNEL_PATH
= $(TOPDIR
)/..
/kernel
/$(DEVICE
)
15 KERNEL_VERSION
= $(shell grep
'^KERNEL_VERSION = ' $(KERNEL_PATH
)/Makefile | sed
's|KERNEL_VERSION = ||')
17 BUSYBOX_SOURCE
= http
://busybox.net
/downloads
/busybox-
$(BUSYBOX_VERSION
).
tar.bz2
18 BUSYBOX_VERSION
= 1.14.1
20 .PHONY
: all check-root busybox initrd
clean distclean
24 clean: busybox-clean initrd-clean
26 dist-clean
: busybox-distclean initrd-distclean
29 @if
[ "$$UID" != "0" ]; then \
30 echo
"You need to be root to do this."; \
34 $(WORK
)/busybox-
$(BUSYBOX_VERSION
).
tar.bz2
:
35 wget
-P
$(WORK
) -c http
://busybox.net
/downloads
/busybox-
$(BUSYBOX_VERSION
).
tar.bz2
37 $(WORK
)/busybox-
$(BUSYBOX_VERSION
): $(WORK
)/busybox-
$(BUSYBOX_VERSION
).
tar.bz2
$(TOPDIR
)/busybox-
$(BUSYBOX_VERSION
).config
38 tar -C
$(WORK
) -xvjf
$(WORK
)/busybox-
$(BUSYBOX_VERSION
).
tar.bz2
39 cp
-v
$(TOPDIR
)/busybox-
$(BUSYBOX_VERSION
).config
$(WORK
)/busybox-
$(BUSYBOX_VERSION
)/.config
40 touch
$(WORK
)/busybox-
$(BUSYBOX_VERSION
).
tar.bz2
42 $(WORK
)/busybox-
$(BUSYBOX_VERSION
)/_install
: $(WORK
)/busybox-
$(BUSYBOX_VERSION
)
43 export PATH
=$(CROSSTOOLS
)/bin
:$$PATH && \
44 export LD_LIBRARY_PATH
=$(CROSSTOOLS
)/lib
:$$LD_LIBRARY_PATH && \
45 make
-C
$(WORK
)/busybox-
$(BUSYBOX_VERSION
) ARCH
=arm CROSS_COMPILE
=$(TARGET
)- install
46 touch
$(WORK
)/busybox-
$(BUSYBOX_VERSION
)/_install
48 busybox
: $(WORK
)/busybox-
$(BUSYBOX_VERSION
)/_install
51 rm -vrf
$(WORK
)/busybox-
$(BUSYBOX_VERSION
)
54 rm -vf
$(WORK
)/busybox-
$(BUSYBOX_VERSION
).
tar.bz2
59 $(WORK
)/initrd-
$(KERNEL_VERSION
).gz
: check-root busybox
$(KERNEL_PATH
) $(WORK
)/mnt
$(TOPDIR
)/filesystem
$(TOPDIR
)/mkinitrd.sh
60 sh mkinitrd.sh
--name
=$(WORK
)/initrd-
$(KERNEL_VERSION
).gz
--size
=4096
61 cd
$(WORK
) && gunzip
-v initrd-
$(KERNEL_VERSION
).gz
62 mount
-v
-t ext2
-o loop
,rw
$(WORK
)/initrd-
$(KERNEL_VERSION
) $(WORK
)/mnt
63 cp
-dRv
$(WORK
)/busybox-
$(BUSYBOX_VERSION
)/_install
/* $(WORK
)/mnt
64 #make -C $(KERNEL_PATH)/work/linux-$(KERNEL_VERSION) ARCH=arm INSTALL_MOD_PATH=$(WORK)/mnt modules_install
65 cp
-dRv
$(CLFS
)/lib
/libnss_
{files
*,dns
*} $(CLFS
)/lib
/libresolv
* $(WORK
)/mnt
/lib
66 install -v
-m
0644 $(TOPDIR
)/filesystem
/{fstab
,inittab
,profile
,protocols
,*.conf
} $(WORK
)/mnt
/etc
67 install -v
-m
0755 $(TOPDIR
)/filesystem
/rc
$(WORK
)/mnt
/etc
&& \
68 install -v
-m
0755 $(TOPDIR
)/filesystem
/crux
$(WORK
)/mnt
/usr
/bin
&& \
69 /sbin
/ldconfig
-r
$(WORK
)/mnt
71 cd
$(WORK
) && gzip
-v initrd-
$(KERNEL_VERSION
)
72 touch
$(WORK
)/initrd-
$(KERNEL_VERSION
).gz
74 initrd
: $(WORK
)/initrd-
$(KERNEL_VERSION
).gz
76 initrd-clean
: check-root
77 rm -rf initrd-
$(KERNEL_VERSION
).gz
79 initrd-distclean
: initrd-clean