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

【龙芯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.dtcms.com/a/311332.html

相关文章:

  • SPI通信中CS片选的两种实现方案:硬件片选与软件片选
  • 电力系统分析学习笔记(二)- 标幺值计算与变压器建模
  • QT5.12.8 QTabWidget 透明样式QSS
  • Flask + YARA-Python*实现文件扫描功能
  • C++音视频开发:基础面试题
  • STM32 GPIO 中8种配置模式
  • 图漾AGV行业常用相机使用文档
  • 快速了解机器学习
  • 【机器学习】非线性分类算法详解(下):决策树(最佳分裂特征选择的艺术)与支持向量机(最大间隔和核技巧)
  • Python Pandas.unique函数解析与实战教程
  • mac中使用gvm install没有效果
  • 【Android】进度条ProgressBar 可拖拽进度条Seekbar
  • 云运维解决方案(word)
  • Python 入门指南:从零基础到环境搭建
  • 数字化转型-灯塔工厂建设
  • StyleX:Meta推出的高性能零运行时CSS-in-JS解决方案
  • 数字图像处理(冈萨雷斯)第三版:第一章绪论主要内容和重点——(数字图像处理的一些概念)
  • C语言数据结构(4)单链表专题2.单链表的应用
  • 什么是需量跟随
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现道路上头盔的检测识别(C#代码,UI界面版)
  • Linux 嵌入式开发全流程
  • C语言(长期更新)第7讲:VS实用调试技巧
  • LVGL + ESP-Brookesia 在Windows下的编译和运行
  • Elasticsearch+Logstash+Filebeat+Kibana单机部署
  • 卡尔曼滤波轨迹跟踪算法与MATLAB实现
  • GitHub 趋势日报 (2025年08月01日)
  • Kubernetes Service 全面详解:从概念到实践
  • 前端Canvas实现图片水印全攻略:从基础到高级防伪技术
  • 解决mac在安装nvm过程中可能遇到的一些问题
  • 深度学习核心:卷积神经网络 - 原理、实现及在医学影像领域的应用