mirror of
https://github.com/LuckfoxTECH/luckfox-pico.git
synced 2026-01-18 03:28:19 +01:00
add:buildroot
This commit is contained in:
@@ -28,6 +28,10 @@ else
|
||||
SYSDRV_LIB_TYPE ?= glibc
|
||||
endif
|
||||
|
||||
ifneq ($(RK_BUILDROOT_DEFCONFIG),)
|
||||
BUILDROOT_DEFCONFIG := $(RK_BUILDROOT_DEFCONFIG)
|
||||
endif
|
||||
|
||||
SYSDRV_ROOTFS_FS_TYPE ?= $(fs_type)
|
||||
ifneq ($(RK_ROOTFS_FS_TPYE),)
|
||||
SYSDRV_ROOTFS_FS_TYPE := $(RK_ROOTFS_FS_TPYE)
|
||||
@@ -221,8 +225,10 @@ $(error Please config TINY_ROOTFS_BUSYBOX_CFG on cfg/cfg.mk)
|
||||
endif
|
||||
endif
|
||||
BUSYBOX_CFG ?= config_normal
|
||||
BUSYBOX_VER ?= busybox-1.27.2
|
||||
BUSYBOX_DIR := $(SYSDRV_DIR)/source/busybox
|
||||
|
||||
BUILDROOT_CFG ?= config_normal
|
||||
BUILDROOT_VER ?= buildroot-2023.02.6
|
||||
BUILDROOT_DIR := $(SYSDRV_DIR)/source/buildroot
|
||||
|
||||
TOOLCHAIN_RUNTIME_LIB_C:=lib.tar.bz2
|
||||
|
||||
@@ -265,7 +271,7 @@ endif
|
||||
################################################################################
|
||||
all: uboot kernel rootfs env
|
||||
|
||||
clean: uboot_clean kernel_clean busybox_clean pctools_clean boardtools_clean rootfs_clean drv_clean
|
||||
clean: uboot_clean kernel_clean buildroot_clean pctools_clean boardtools_clean rootfs_clean drv_clean
|
||||
|
||||
distclean: clean out_clean
|
||||
|
||||
@@ -318,13 +324,13 @@ help:
|
||||
@echo -e "$(C_YELLOW) make uboot [BOOT_MEDIUM=...] # build uboot $(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW) make kernel [BOOT_MEDIUM=...] # build kernel $(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW) make rootfs [BOOT_MEDIUM=...] # build rootfs $(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW) make rootfs_ubi # force package ubi rootfs image$(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW) make rootfs_ext4 # force package ext4 rootfs image$(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW) make rootfs_jffs2 # force package jffs2 rootfs image$(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW) make rootfs_squashfs # force package squashfs rootfs image$(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW) make rootfs_erofs # force package erofs rootfs image$(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW) make rootfs_initramfs # force package initramfs rootfs image$(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW) make busybox_menuconfig # config busybox $(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW) make rootfs_ubi # force package ubi rootfs image$(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW) make rootfs_ext4 # force package ext4 rootfs image$(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW) make rootfs_jffs2 # force package jffs2 rootfs image$(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW) make rootfs_squashfs # force package squashfs rootfs image$(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW) make rootfs_erofs # force package erofs rootfs image$(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW) make rootfs_initramfs # force package initramfs rootfs image$(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW) make buildroot_menuconfig # config buildroot $(C_NORMAL)"
|
||||
@echo -e "$(C_YELLOW)------------------------------------------------------------------------- $(C_NORMAL)"
|
||||
|
||||
################################################################################
|
||||
@@ -425,46 +431,49 @@ rootfs_prepare: prepare
|
||||
popd
|
||||
|
||||
##########################################################################################
|
||||
# build busybox
|
||||
# build buildroot
|
||||
##########################################################################################
|
||||
busybox_menuconfig:
|
||||
@$(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) menuconfig \
|
||||
-C $(BUSYBOX_DIR)/$(BUSYBOX_VER)/
|
||||
@cp -f $(BUSYBOX_DIR)/$(BUSYBOX_VER)/.config \
|
||||
$(SYSDRV_DIR)/tools/board/busybox/$(BUSYBOX_CFG);
|
||||
buildroot_menuconfig:
|
||||
$(MAKE) menuconfig -C $(BUILDROOT_DIR)/$(BUILDROOT_VER)
|
||||
$(MAKE) source -C $(BUILDROOT_DIR)/$(BUILDROOT_VER)
|
||||
|
||||
busybox: prepare
|
||||
@echo -e "$(C_GREEN) ==sysdrv== build busybox $(C_NORMAL)"
|
||||
test -f $(BUSYBOX_DIR)/$(BUSYBOX_VER)/_install/bin/busybox || (\
|
||||
rm $(BUSYBOX_DIR)/$(BUSYBOX_VER) -rf ;\
|
||||
mkdir -p $(BUSYBOX_DIR) ;\
|
||||
tar xjf $(SYSDRV_DIR)/tools/board/busybox/$(BUSYBOX_VER).tar.bz2 -C $(BUSYBOX_DIR) ;\
|
||||
cp $(SYSDRV_DIR)/tools/board/busybox/$(BUSYBOX_CFG) $(BUSYBOX_DIR)/$(BUSYBOX_VER)/.config ;\
|
||||
cp -fv $(SYSDRV_DIR)/tools/board/busybox/*.patch $(SYSDRV_DIR)/tools/board/busybox/busybox.patch.sh $(BUSYBOX_DIR)/$(BUSYBOX_VER)/ ;\
|
||||
pushd $(BUSYBOX_DIR)/$(BUSYBOX_VER)/;$(SHELL) ./busybox.patch.sh ; $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -j$(SYSDRV_JOBS) ; popd ;\
|
||||
$(MAKE) CROSS_COMPILE=$(CROSS_COMPILE) -C $(BUSYBOX_DIR)/$(BUSYBOX_VER) install ;\
|
||||
|
||||
buildroot: prepare
|
||||
@echo -e "$(C_GREEN) ==sysdrv== build buildroot $(C_NORMAL)"
|
||||
test -f $(BUILDROOT_DIR)/$(BUILDROOT_VER)/output/target/bin/busybox || (\
|
||||
rm $(BUILDROOT_DIR)/$(BUILDROOT_VER) -rf ;\
|
||||
mkdir -p $(BUILDROOT_DIR) ;\
|
||||
tar xzf $(SYSDRV_DIR)/tools/board/buildroot/$(BUILDROOT_VER).tar.gz -C $(BUILDROOT_DIR) ;\
|
||||
);
|
||||
$(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) $(BUILDROOT_DEFCONFIG) -C $(BUILDROOT_DIR)/$(BUILDROOT_VER)
|
||||
$(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) source -C $(BUILDROOT_DIR)/$(BUILDROOT_VER)
|
||||
$(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -j$(SYSDRV_JOBS) -C $(BUILDROOT_DIR)/$(BUILDROOT_VER)
|
||||
|
||||
ifeq ($(SYSDRV_BUILD_RAMDISK_FLAG),YES)
|
||||
tar xf $(SYSDRV_DIR)/tools/board/rootfs_script.tar -C $(BUSYBOX_DIR)/$(BUSYBOX_VER)/_install
|
||||
ifneq ($(OUTPUT_SYSDRV_RAMDISK_TINY_ROOTFS_DIR),)
|
||||
$(call MAROC_COPY_PKG_TO_SYSDRV_OUTPUT, $(OUTPUT_SYSDRV_RAMDISK_TINY_ROOTFS_DIR), \
|
||||
$(SYSDRV_DIR)/tools/board/busybox/init \
|
||||
$(BUSYBOX_DIR)/$(BUSYBOX_VER)/_install)
|
||||
tar xf $(SYSDRV_DIR)/tools/board/rootfs_script.tar -C $(BUILDROOT_DIR)/$(BUILDROOT_VER)/output/target
|
||||
ifneq ($(OUTPUT_SYSDRV_RAMDISK_TINY_ROOTFS_DIR),)
|
||||
$(call MAROC_COPY_PKG_TO_SYSDRV_OUTPUT, $(OUTPUT_SYSDRV_RAMDISK_TINY_ROOTFS_DIR), \
|
||||
$(SYSDRV_DIR)/tools/board/buildroot/busybox/init \
|
||||
$(BUILDROOT_DIR)/$(BUILDROOT_VER)/output/target)
|
||||
else
|
||||
$(call MAROC_COPY_PKG_TO_SYSDRV_OUTPUT, $(SYSDRV_DIR_OUT_ROOTFS), \
|
||||
$(SYSDRV_DIR)/tools/board/buildroot/busybox/init \
|
||||
$(BUILDROOT_DIR)/$(BUILDROOT_VER)/output/target)
|
||||
endif
|
||||
else
|
||||
$(call MAROC_COPY_PKG_TO_SYSDRV_OUTPUT, $(SYSDRV_DIR_OUT_ROOTFS), \
|
||||
$(SYSDRV_DIR)/tools/board/busybox/init \
|
||||
$(BUSYBOX_DIR)/$(BUSYBOX_VER)/_install)
|
||||
endif
|
||||
else
|
||||
cp -af $(BUSYBOX_DIR)/$(BUSYBOX_VER)/_install/* $(SYSDRV_DIR_OUT_ROOTFS)
|
||||
|
||||
# luckfox
|
||||
cp $(SYSDRV_DIR)/tools/board/android-tools/S99usb0config $(SYSDRV_DIR_OUT_ROOTFS)/etc/init.d
|
||||
tar xf $(BUILDROOT_DIR)/$(BUILDROOT_VER)/output/images/rootfs.tar -C $(SYSDRV_DIR_OUT_ROOTFS)
|
||||
cp $(SYSDRV_DIR)/tools/board/buildroot/shadow_defconfig $(SYSDRV_DIR_OUT_ROOTFS)/etc/shadow
|
||||
cp $(SYSDRV_DIR)/tools/board/buildroot/sshd_defconfig $(SYSDRV_DIR_OUT_ROOTFS)/etc/ssh/sshd_config
|
||||
cp $(SYSDRV_DIR)/tools/board/buildroot/samba_defconfig $(SYSDRV_DIR_OUT_ROOTFS)/etc/samba/smb.conf
|
||||
cp $(SYSDRV_DIR)/tools/board/buildroot/smbpasswd_defconfig $(SYSDRV_DIR_OUT_ROOTFS)/etc/samba/smbpasswd
|
||||
cp $(SYSDRV_DIR)/tools/board/buildroot/S50sshd $(SYSDRV_DIR_OUT_ROOTFS)/etc/init.d/
|
||||
cp $(SYSDRV_DIR)/tools/board/buildroot/S99python $(SYSDRV_DIR_OUT_ROOTFS)/etc/init.d/
|
||||
cp $(SYSDRV_DIR)/tools/board/android-tools/S90usb0config $(SYSDRV_DIR_OUT_ROOTFS)/etc/init.d/
|
||||
|
||||
endif
|
||||
|
||||
busybox_clean:
|
||||
$(AT)rm -rf $(BUSYBOX_DIR)/$(BUSYBOX_VER)
|
||||
buildroot_clean:
|
||||
$(AT)rm -rf $(BUILDROOT_DIR)/$(BUILDROOT_VER)
|
||||
|
||||
##########################################################################################
|
||||
# build pc tools
|
||||
@@ -511,7 +520,7 @@ drv_clean:
|
||||
##########################################################################################
|
||||
# build rootfs
|
||||
##########################################################################################
|
||||
rootfs: rootfs_prepare pctools busybox boardtools drv
|
||||
rootfs: rootfs_prepare pctools buildroot boardtools drv
|
||||
@echo -e "$(C_GREEN) ==sysdrv== build rootfs $(C_NORMAL)"
|
||||
make -C $(SYSDRV_DIR) strip
|
||||
pushd $(SYSDRV_DIR)/out;tar cf $(OUT_ROOTFS).tar $(OUT_ROOTFS);popd
|
||||
|
||||
Reference in New Issue
Block a user