【龙芯99派新世界】buildroot快速使用笔记
添加编译器解压到想要的路径(/usr/local/)接着执行
export PATH=${PATH}:/usr/local/loongson-gnu-toolchain-13.2/bin # 添加路径
source ~/.bashrc # 修改~/.bashrc 文件生效
loongarch64-unknown-linux-gnu-gcc --version # 检查生效
sudo apt install bison flex libssl-dev libncursesw5-dev
Linux-6.9部分
移植aic8800到drivers/net/wireless,修改Makefile和Kconfig文件
# 自行添加Makefile文件
obj-y += aic8800/#自行添加Kconfig文件
source "drivers/net/wireless/aic8800/Kconfig"
编译命令(要有编译器)
make ARCH=loongarch CROSS_COMPILE=loongarch64-unknown-linux-gnu- ls2k0300_99_pai_wifi_defconfig # 生成 .config 文件
make ARCH=loongarch CROSS_COMPILE=loongarch64-unknown-linux-gnu- menuconfig # 基于当前 .config 文件加载配置(如果没有 .config,会使用默认配置或 defconfig)
make ARCH=loongarch CROSS_COMPILE=loongarch64-unknown-linux-gnu- -j$(nproc) # 编译内核生成 vmlinux 和模块
buildroot部分
编译命令
make ARCH=loongarch64 menuconfig # 打开图形化界面配置交叉编译工具
● Toolchain path:修改为“/usr/local/loongson-gnu-toolchain-
13.2”。
● Toolchain prefix:修改为“$(ARCH)-unknown-linux-gnu”。
● External toolchain gcc version:修改为“13.x”。
● External toolchain kernel headers series:修改为“6.5.x”。
● Toolchain has RPC support:改为“n”。
make -j$(nproc) # 编译
在buildroot源码的output/images/目录下会生成文件系统镜像文件。
制作uImage
安装u-boot-tools
sudo apt install u-boot-tools
制作vmlinux.bin.lzma
/***********linux6.9路径下************/
cp arch/loongarch/boot/vmlinux.bin ./
lzma -k vmlinux.bin
cat System.map | grep kernel_entry # 看看entry这项数据
vi multi.its # Images>kernel-1>entry:指定内核入口地址,这项要修改
mkimage -f multi.its uImage #生成uImage
制作根文件系统U盘
U盘格式化为ext4文件系统,根文件系统解压至U盘
cd buildroot/output/images/
sudo tar -xvf rootfs.tar -C /media/user/U-disk/
sudo umount /media/user/U-disk
将“uImage”和“rootfs.tar”拷贝至U盘的“boot”目录下
初始化EMMC
fdisk -l && fdisk /dev/mmcblk0 # 初始化EMMC并创建分区,(n)(p)(1)(wq)保存退出
mke2fs -c /dev/mmcblk0p1
mkdir /media/mmc && mount /dev/mmcblk0p1 /media/mmc # 格式化并挂载EMMC
tar -xvf /boot/rootfs.tar -C /media/mmc
cp /boot/uImage /media/mmc/boot # EMMC制作为根文件系统
sync
/*u-boot命令行*/
setenv bootcmd 'ext4load mmc 0:1 ${loadaddr} boot/uImage;bootm ${loadaddr}'
setenv bootargs root=/dev/mmcblk0p1 rootdelay=5
saveenv # 自动启动系统
qt部分
在文件路径
**/buildroot/output/build/qt5base-*/src/3rdparty/double-conversion/include/double-conversion
修改一下内容(否则编译不成功)
defined(__mips__) \改为
defined(__mips__) || defined(__loongarch__) || \