aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlns <matzeton@googlemail.com>2018-08-24 15:46:38 +0200
committerlns <matzeton@googlemail.com>2018-08-24 15:46:38 +0200
commit3e0d3d06fde9063d2804d54a567463a8a04304f8 (patch)
treed32ccdb0496b4d7a432dc43c679df540fd1a4c98
parent0cbc10658d0f8e1e00909c94fa66fbcd83701b86 (diff)
busybox dl/extract
Signed-off-by: lns <matzeton@googlemail.com>
-rw-r--r--Makefile46
1 files changed, 35 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index a6a711a..d641fe4 100644
--- a/Makefile
+++ b/Makefile
@@ -3,9 +3,7 @@ THIS_DIR=$(realpath .)
DL_DIR=$(THIS_DIR)/dl
BUILD_DIR=$(THIS_DIR)/build
-
-ROOT_DIR=$(THIS_DIR)/root
-STAGING_DIR=$(THIS_DIR)/staging
+ROOTFS_DIR=$(THIS_DIR)/rootfs
LINUX_DL_PREFIX=https://cdn.kernel.org/pub/linux/kernel/v4.x
LINUX_DL_BASENAME=linux
@@ -13,24 +11,46 @@ LINUX_DL_VERSION=4.18
LINUX_DL_SUFFIX=tar.xz
LINUX_DL_URL=$(LINUX_DL_PREFIX)/$(LINUX_DL_BASENAME)-$(LINUX_DL_VERSION).$(LINUX_DL_SUFFIX)
LINUX_DL_FILE=$(DL_DIR)/$(LINUX_DL_BASENAME)-$(LINUX_DL_VERSION).$(LINUX_DL_SUFFIX)
-LINUX_BUILD_DIR=$(BUILD_DIR)/linux-$(LINUX_DL_VERSION)
+LINUX_BUILD_DIR=$(BUILD_DIR)/$(LINUX_DL_BASENAME)-$(LINUX_DL_VERSION)
+
+BUSYBOX_DL_PREFIX=https://busybox.net/downloads
+BUSYBOX_DL_BASENAME=busybox
+BUSYBOX_DL_VERSION=1.29.2
+BUSYBOX_DL_SUFFIX=tar.bz2
+BUSYBOX_DL_URL=$(BUSYBOX_DL_PREFIX)/$(BUSYBOX_DL_BASENAME)-$(BUSYBOX_DL_VERSION).$(BUSYBOX_DL_SUFFIX)
+BUSYBOX_DL_FILE=$(DL_DIR)/$(BUSYBOX_DL_BASENAME)-$(BUSYBOX_DL_VERSION).$(BUSYBOX_DL_SUFFIX)
+BUSYBOX_BUILD_DIR=$(BUILD_DIR)/$(BUSYBOX_DL_BASENAME)-$(BUSYBOX_DL_VERSION)
all: pre dl extract build
-pre:
- mkdir -p $(DL_DIR)
- mkdir -p $(BUILD_DIR)
- mkdir -p $(LINUX_BUILD_DIR)
+$(DL_DIR):
+ mkdir -p '$@'
+$(BUILD_DIR):
+ mkdir -p '$@'
+$(ROOTFS_DIR):
+ mkdir -p '$@'
+$(LINUX_BUILD_DIR):
+ mkdir -p '$@'
+$(BUSYBOX_BUILD_DIR):
+ mkdir -p '$@'
+
+pre: $(DL_DIR) $(BUILD_DIR) $(ROOTFS_DIR) $(LINUX_BUILD_DIR) $(BUSYBOX_BUILD_DIR)
$(LINUX_DL_FILE):
wget '$(LINUX_DL_URL)' -O '$@' || (rm -f '$(LINUX_DL_FILE)' && false)
-dl: pre $(LINUX_DL_FILE)
+$(BUSYBOX_DL_FILE):
+ wget '$(BUSYBOX_DL_URL)' -O '$@' || (rm -f '$(BUSYBOX_DL_FILE)' && false)
+
+dl: pre $(LINUX_DL_FILE) $(BUSYBOX_DL_FILE)
$(LINUX_BUILD_DIR)/Makefile:
tar --strip-components=1 -C '$(LINUX_BUILD_DIR)' -xvf '$(LINUX_DL_FILE)' || (rm -rf '$(LINUX_BUILD_DIR)' && false)
-extract: dl $(LINUX_BUILD_DIR)/Makefile
+$(BUSYBOX_BUILD_DIR)/Makefile:
+ tar --strip-components=1 -C '$(BUSYBOX_BUILD_DIR)' -xvjf '$(BUSYBOX_DL_FILE)' || (rm -rf '$(BUSYBOX_BUILD_DIR)' && false)
+
+extract: dl $(LINUX_BUILD_DIR)/Makefile $(BUSYBOX_BUILD_DIR)/Makefile
$(LINUX_BUILD_DIR)/vmlinux:
make -C '$(LINUX_BUILD_DIR)' allnoconfig
@@ -49,6 +69,10 @@ $(LINUX_BUILD_DIR)/vmlinux:
echo 'CONFIG_PROC_FS=y' >>'$(LINUX_BUILD_DIR)/.config'
echo 'CONFIG_SYSFS=y' >>'$(LINUX_BUILD_DIR)/.config'
make -C '$(LINUX_BUILD_DIR)' menuconfig
- make -C '$(LINUX_BUILD_DIR)' -j$(BUILDJOBS)
+ make -C '$(LINUX_BUILD_DIR)' -j$(BUILDJOBS) ARCH=$(shell uname -m)
+ make -C '$(LINUX_BUILD_DIR)' -j$(BUILDJOBS) ARCH='$(shell uname -m)' INSTALL_HDR_PATH='$(ROOTFS_DIR)/usr' headers_install
+
+$(BUSYBOX_BUILD_DIR)/busybox:
+ make -C '$(BUSYBOX_BUILD_DIR)' allyesconfig
build: extract $(LINUX_BUILD_DIR)/vmlinux