Siehe offizielle Informationen: Mainline Linux-Kompilierung – Sipeed Wiki
Erste
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8
/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [scripts/Makefile.host:99:scripts/dtc/dtc] 错误 1
make[1]: *** [scripts/Makefile.build:575:scripts/dtc] 错误 2
Ändern Sie den Quellcode und fügen Sie in beiden dtc-lexer-Dateien extern zu YYLTYPE hinzu.
Die erste Kompilierung ist abgeschlossen
Dann
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8 INSTALL_MOD_PATH=out modules
dann renne
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8 INSTALL_MOD_PATH=out modules_install
Alles zusammengestellt
Nach erfolgreicher Kompilierung lautet der Speicherort der generierten Datei:
- Kernel-IMG-Datei: ./arch/arm/boot/zImage
- Gerätebaum-DTB-Datei: ./arch/arm/boot/dts/suniv-f1c100s-lichepi-nano.dtb
- Modulordner: ./out/lib/modules
zImage und dtb müssen auf die erste Partition der SD-Karte kopiert werden (siehe Allwinner F1C100s-Nutzungsdatensatz: U-Boot-, Linux- und Rootfs-Kompilierungs- und Brenntest (basierend auf SD-Karte)_Allwinner Linux-Systembrennen_Blog von Naisu Xu -CSDN-Blog )