当前位置: 首页 > backend >正文

【龙芯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__) || \

http://www.xdnf.cn/news/16819.html

相关文章:

  • Makefile 入门与实践指南
  • 易华路副总经理兼交付管理中心部门经理于江平受邀PMO大会主持人
  • SQL Server从入门到项目实践(超值版)读书笔记 22
  • 5.7 ASPICE适配过程中的认证准备
  • K8S的Pod之initC容器restartPolicy新特性
  • .NET 中,Process.Responding 属性用于检查进程的用户界面是否正在响应
  • 《React+TypeScript实战:前端状态管理的安全架构与性能优化深解》
  • 音频3A处理简介之AGC(自动增益控制)
  • Python从入门到精通计划Day01: Python开发环境搭建指南:从零开始打造你的“数字厨房“
  • 北京-4年功能测试2年空窗-报培训班学测开-今天来聊聊我的痛苦
  • 防火墙配置实验2(DHCP,用户认证,安全策略)
  • Python 入门指南:从零基础到环境搭建
  • Windows 批处理(.bat)文件中,搜索文件时使用的通配符
  • 排序算法大全:从插入到快速排序
  • EPICS aSub记录示例2
  • 计算机网络:任播和负载均衡的区别
  • 【Linux系统】详解,进程控制
  • Flink2.0学习笔记:Stream API 窗口
  • 20250802让飞凌OK3576-C开发板在飞凌的Android14下【rk3576_u选项】适配NXP的WIFIBT模块88W8987A的蓝牙
  • 【深度学习新浪潮】什么是专业科研智能体?
  • python:如何调节机器学习算法的鲁棒性,以支持向量机SVM为例,让伙伴们看的更明白
  • Kubernetes 构建高可用、高性能 Redis 集群实战指南
  • AI应用标准详解:A2A MCP AG-UI
  • MySQL 运算符
  • WebForms 简介
  • 人类学家与建筑师:区分UX研究和项目管理的需求分析
  • 【云计算】云主机的亲和性策略(三):云主机 宿主机
  • Redis--day1--初识Redis
  • 第三十五章:让AI绘画“动”起来:第一个AI视频诞生-AnimateDiff的时间卷积结构深度解析
  • 初识 网络原理