Uno, instale el entorno de compilación cruzada
El entorno de compilación cruzada es el mismo que utiliza uboot.
Referencia: instalación de la cadena de herramientas de compilación cruzada arm-linux-gnueabihf
2. Descargue y compile el código fuente de Linux
(El valor predeterminado es la rama cero-4.10.y):
git clone https://github.com/Lichee-Pi/linux.git
或者`zero-4.13.y`对网卡的支持更好
git clone -b zero-4.13.y https://github.com/Lichee-Pi/linux.git
cd linux
make ARCH=arm licheepi_zero_defconfig
make ARCH=arm menuconfig #add bluethooth, etc.
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16 INSTALL_MOD_PATH=out modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16 INSTALL_MOD_PATH=out modules_install
Tres, modificar la compilación de Makefile de nivel superior
Makefile
Modifique el compilador predeterminado en la línea 257 en el directorio raíz del kernel , y puede usarlo directamente para make
compilar:
# ARCH ?= $(SUBARCH)
# CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-gnueabihf-
Comando de compilación:
make licheepi_zero_defconfig
make menuconfig #add bluethooth, etc.
make -j16
make -j16 INSTALL_MOD_PATH=out modules
make -j16 INSTALL_MOD_PATH=out modules_install
Compilar REGISTRO:
pjw@pjw-virtual-machine:~/Allwinner/V3S/linux$ make -j16 INSTALL_MOD_PATH=out modules
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CHK scripts/mod/devicetable-offsets.h
CHK include/generated/timeconst.h
CHK include/generated/bounds.h
CHK include/generated/asm-offsets.h
CALL scripts/checksyscalls.sh
Building modules, stage 2.
MODPOST 3 modules
pjw@pjw-virtual-machine:~/Allwinner/V3S/linux$ make -j16 INSTALL_MOD_PATH=out modules_install
INSTALL crypto/echainiv.ko
INSTALL drivers/staging/rtl8723bs/r8723bs.ko
INSTALL drivers/video/backlight/lcd.ko
DEPMOD 4.13.16-licheepi-zero+
pjw@pjw-virtual-machine:~/Allwinner/V3S/linux$
Después de la compilación, zImage
en arch/arm/boot/
el módulo de conducción out/
en, sun8i-v3s-licheepi-zero-dock.dtb
en arch/arm/boot/dts/
el