Not working, saving for today
This commit is contained in:
@@ -7,12 +7,61 @@ KERNEL_FILE_NAME ?= bzImage
|
||||
KERNEL_PATH = $(BUILD_DIR)/arch/$(ARCH)/boot/$(bzImage)
|
||||
KERNEL_BUILD_DIR=$(BUILD_DIR)/linux/kernel
|
||||
|
||||
all: $(KERNEL_PATH)
|
||||
BUSYBOX_BUILD_DIR=$(BUILD_DIR)/linux/busybox
|
||||
BUSYBOX_BUILD_FILE=$(BUSYBOX_BUILD_DIR)/busybox
|
||||
|
||||
INITRAMFS_DIR=$(BUILD_DIR)/linux/initramfs
|
||||
INITRAMFS_FILE_TMP=$(BUILD_DIR)/linux/initramfs.cpio
|
||||
INITRAMFS_FILE=$(BUILD_DIR)/linux/initramfs.cpio.gz
|
||||
|
||||
|
||||
|
||||
.PHONY: initramfs initramfs_initiial initramfs_clean busybox all kernel __busybox_install
|
||||
|
||||
all: $(INITRAMFS_FILE)
|
||||
initramfs:initramfs_clean initramfs_initiial __busybox_install $(INITRAMFS_FILE)
|
||||
kernel: $(KERNEL_PATH)
|
||||
busybox: $(BUSYBOX_BUILD_FILE)
|
||||
|
||||
$(KERNEL_PATH):
|
||||
@mkdir -p $(KERNEL_BUILD_DIR)
|
||||
$(MAKE) -C $(MAKEFILE_DIR)/kernel O=$(KERNEL_BUILD_DIR) KCONFIG_CONFIG="$(MAKEFILE_DIR)/.config"
|
||||
$(MAKE) -C $(MAKEFILE_DIR)/kernel O=$(KERNEL_BUILD_DIR) KCONFIG_CONFIG="$(MAKEFILE_DIR)/.kernel-config"
|
||||
|
||||
kernel-config:
|
||||
$(MAKE) -C $(MAKEFILE_DIR)/kernel O=$(KERNEL_BUILD_DIR) KCONFIG_CONFIG="$(MAKEFILE_DIR)/.config" menuconfig
|
||||
$(MAKE) -C $(MAKEFILE_DIR)/kernel O=$(KERNEL_BUILD_DIR) KCONFIG_CONFIG="$(MAKEFILE_DIR)/.kernel-config" menuconfig
|
||||
|
||||
$(BUSYBOX_BUILD_FILE):
|
||||
@mkdir -p $(BUSYBOX_BUILD_DIR)
|
||||
cp $(MAKEFILE_DIR)/.busybox-config $(BUSYBOX_BUILD_DIR)/.config
|
||||
$(MAKE) -C $(MAKEFILE_DIR)/busybox O=$(BUSYBOX_BUILD_DIR) KCONFIG_CONFIG="$(MAKEFILE_DIR)/.busybox-config"
|
||||
|
||||
__busybox_install:
|
||||
$(MAKE) -C $(MAKEFILE_DIR)/busybox O=$(BUSYBOX_BUILD_DIR) KCONFIG_CONFIG="$(MAKEFILE_DIR)/.busybox-config" CONFIG_PREFIX=$(INITRAMFS_DIR) install
|
||||
|
||||
|
||||
|
||||
$(INITRAMFS_FILE): initramfs_clean initramfs_initiial __busybox_install
|
||||
find $(INITRAMFS_DIR) | cpio -o -H newc > $(INITRAMFS_FILE_TMP)
|
||||
# gzip -f $(INITRAMFS_FILE_TMP)
|
||||
|
||||
initramfs_clean:
|
||||
@rm -rf $(INITRAMFS_DIR)
|
||||
|
||||
initramfs_initiial: #$(BUSYBOX_BUILD_FILE)
|
||||
mkdir -p $(INITRAMFS_DIR)
|
||||
mkdir -p $(INITRAMFS_DIR)/{etc,mnt,proc,run,srv,tmp,var,boot,dev,home,media,opt,root,sbin,sys,usr/bin,usr/lib}
|
||||
|
||||
bash -c "pushd $(INITRAMFS_DIR); ln -s usr/bin bin; popd"
|
||||
bash -c "pushd $(INITRAMFS_DIR); ln -s usr/lib lib; popd"
|
||||
|
||||
|
||||
echo "#!/bin/sh" >> $(INITRAMFS_DIR)/init
|
||||
echo "mount -t proc none /proc" >> $(INITRAMFS_DIR)/init
|
||||
echo "mount -t sysfs none /sys" >> $(INITRAMFS_DIR)/init
|
||||
echo "echo 'Successfully booted'" >> $(INITRAMFS_DIR)/init
|
||||
echo "exec /bin/sh" >> $(INITRAMFS_DIR)/init
|
||||
|
||||
chmod +x $(INITRAMFS_DIR)/init
|
||||
chmod +x $(INITRAMFS_DIR)/sbin/init
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user