diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..306ab6964 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ + +# File +*.o + +# Configuration +compile_commands.json + +# Directory +.vscode/ +.cache/ +output/ + +# Patch +*.orig +*.rej diff --git a/Makefile b/Makefile index 90565ec0d..a200bae4c 100644 --- a/Makefile +++ b/Makefile @@ -1,33 +1,58 @@ -LOCAL_DIR = $(strip $(shell pwd)) +LOCAL_DIR := $(strip $(shell pwd)) -SDK_TOP = $(LOCAL_DIR) -UBOOT_DIR = $(LOCAL_DIR)/uboot -KERNEL_DIR = $(LOCAL_DIR)/kernel +SDK_TOP := $(LOCAL_DIR) +UBOOT_DIR := $(LOCAL_DIR)/uboot +KERNEL_DIR := $(LOCAL_DIR)/kernel +BUSYBOX_DIR := $(LOCAL_DIR)/busybox +OUTPUT_DIR := $(LOCAL_DIR)/output -CPU_CORES = $(shell grep '^core id' /proc/cpuinfo |sort -u |wc -l) -UBOOT_DEFCONFIG ?= mx6ul_14x14_evk_emmc_defconfig -KERNEL_DEFCONFIG ?= imx_v7_defconfig +CPU_CORES = $(shell grep '^core id' /proc/cpuinfo |wc -l) +UBOOT_DEFCONFIG ?= mx6ul_14x14_evk_emmc_defconfig +UBOOT_IMAGE ?= u-boot-imx6ull-14x14-ddr512-emmc.imx +KERNEL_DEFCONFIG ?= imx_v7_defconfig +KERNEL_DTB ?= imx6ul-14x14-evk.dtb +BUSYBOX_DEFCONFIG ?= imx6ul_14x14_evk_defconfig -export ARCH ?= arm +export ARCH ?= arm export CROSS_COMPILE ?= arm-linux-gnueabihf- build_all := uboot kernel clean_all := $(addsuffix _clean,$(build_all)) -.PHONY : clean $(build_all) $(clean_all) +.PHONY : clean $(build_all) $(clean_all) all: ${build_all} -uboot: +chk_env: + if [ ! -e ${OUTPUT_DIR} ]; then mkdir -p ${OUTPUT_DIR}; fi + +busybox: chk_env +# $(MAKE) -C $(BUSYBOX_DIR) $(BUSYBOX_DEFCONFIG) + $(MAKE) -C $(BUSYBOX_DIR) -j${CPU_CORES} + $(MAKE) -C $(BUSYBOX_DIR) install CONFIG_PREFIX=$(OUTPUT_DIR)/rootfs -j${CPU_CORES} + +busybox_config: chk_env +# $(MAKE) -C $(BUSYBOX_DIR) $(BUSYBOX_DEFCONFIG) + $(MAKE) -C $(BUSYBOX_DIR) menuconfig +# $(MAKE) -C $(BUSYBOX_DIR) savedefconfig +# mv $(BUSYBOX_DIR)/defconfig $(BUSYBOX_DIR)/configs/$(BUSYBOX_DEFCONFIG) + +busybox_clean: + $(MAKE) clean -C $(BUSYBOX_DIR) + +uboot: chk_env $(MAKE) -C $(UBOOT_DIR) $(UBOOT_DEFCONFIG) $(MAKE) -C $(UBOOT_DIR) -j${CPU_CORES} + cp -arf ${UBOOT_DIR}/u-boot.imx ${OUTPUT_DIR}/${UBOOT_IMAGE}; uboot_clean: - $(MAKE) clean -C $(UBOOT_DIR) + $(MAKE) clean -C $(UBOOT_DIR) -kernel: +kernel: chk_env $(MAKE) -C $(KERNEL_DIR) $(KERNEL_DEFCONFIG) $(MAKE) -C $(KERNEL_DIR) -j${CPU_CORES} + cp -arf ${KERNEL_DIR}/arch/${ARCH}/boot/zImage ${OUTPUT_DIR}/; + cp -arf ${KERNEL_DIR}/arch/${ARCH}/boot/dts/${KERNEL_DTB} ${OUTPUT_DIR}/; kernel_clean: $(MAKE) clean -C $(KERNEL_DIR) @@ -38,5 +63,4 @@ clean: distclean: $(MAKE) -C $(UBOOT_DIR) distclean $(MAKE) -C $(KERNEL_DIR) distclean - - + rm -rf ${OUTPUT_DIR} diff --git a/busybox/.gitignore b/busybox/.gitignore new file mode 100644 index 000000000..8a265836a --- /dev/null +++ b/busybox/.gitignore @@ -0,0 +1,49 @@ + +*.o +*.a +*.cmd + +*.in + +busybox.links +Kbuild + +*.out +*.map + +.config +.config.old +.kconfig.d +.kernelrelease +applets/applet_tables +applets/usage +applets/usage_pod +busybox +busybox_unstripped +busybox_unstripped.map +busybox_unstripped.out +docs/BusyBox.html +docs/BusyBox.txt +docs/busybox.1 +docs/busybox.net/ +docs/busybox.pod +include/NUM_APPLETS.h +include/applet_tables.h +include/applets.h +include/autoconf.h +include/bbconfigopts.h +include/bbconfigopts_bz2.h +include/common_bufsiz.h +include/common_bufsiz.h.method +include/config/ +include/usage.h +include/usage_compressed.h +scripts/basic/docproc +scripts/basic/fixdep +scripts/basic/split-include +scripts/kconfig/conf +scripts/kconfig/lex.zconf.c +scripts/kconfig/lxdialog/lxdialog +scripts/kconfig/mconf +scripts/kconfig/zconf.hash.c +scripts/kconfig/zconf.tab.c \ No newline at end of file diff --git a/busybox/configs/imx6ul_14x14_evk_defconfig b/busybox/configs/imx6ul_14x14_evk_defconfig new file mode 100644 index 000000000..19ce35644 --- /dev/null +++ b/busybox/configs/imx6ul_14x14_evk_defconfig @@ -0,0 +1,3 @@ +CONFIG_FEATURE_EDITING_VI=y +CONFIG_FEATURE_CHECK_UNICODE_IN_ENV=y +# CONFIG_MODPROBE_SMALL is not set diff --git a/busybox/scripts/kconfig/.gitignore b/busybox/scripts/kconfig/.gitignore new file mode 100644 index 000000000..be603c4fe --- /dev/null +++ b/busybox/scripts/kconfig/.gitignore @@ -0,0 +1,22 @@ +# +# Generated files +# +config* +*.lex.c +*.tab.c +*.tab.h +zconf.hash.c +*.moc +gconf.glade.h +*.pot +*.mo + +# +# configuration programs +# +conf +mconf +nconf +qconf +gconf +kxgettext diff --git a/busybox/scripts/kconfig/lxdialog/.gitignore b/busybox/scripts/kconfig/lxdialog/.gitignore new file mode 100644 index 000000000..90b08ff02 --- /dev/null +++ b/busybox/scripts/kconfig/lxdialog/.gitignore @@ -0,0 +1,4 @@ +# +# Generated files +# +lxdialog