[Fix] 解决busybox编译错误

This commit is contained in:
2023-09-14 15:30:04 +00:00
parent 0278d22b3f
commit da1c11dc2b
6 changed files with 131 additions and 14 deletions

15
.gitignore vendored Normal file
View File

@ -0,0 +1,15 @@
# File
*.o
# Configuration
compile_commands.json
# Directory
.vscode/
.cache/
output/
# Patch
*.orig
*.rej

View File

@ -1,15 +1,20 @@
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
@ -18,16 +23,36 @@ clean_all := $(addsuffix _clean,$(build_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)
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}

49
busybox/.gitignore vendored Normal file
View File

@ -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

View File

@ -0,0 +1,3 @@
CONFIG_FEATURE_EDITING_VI=y
CONFIG_FEATURE_CHECK_UNICODE_IN_ENV=y
# CONFIG_MODPROBE_SMALL is not set

22
busybox/scripts/kconfig/.gitignore vendored Normal file
View File

@ -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

View File

@ -0,0 +1,4 @@
#
# Generated files
#
lxdialog