当前位置: 首页 > 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.lryc.cn/news/608013.html

相关文章:

  • WPFC#超市管理系统(4)入库管理
  • STM32——启动过程浅析
  • Shell【脚本 02】离线安装配置Zookeeper及Kafka并添加service服务和开机启动(脚本分析)
  • Kubernetes Gateway API 详解:现代流量路由管理方案
  • Flink2.0学习笔记:Stream API 窗口
  • ubuntu 系统风扇控制软件 CoolerControl
  • 关于项目发布中到后半夜的一些总结
  • Maven - 并行安全无重复打包构建原理揭秘
  • 公网服务器上Nginx或者Openresty如何屏蔽IP直接扫描
  • 译|Netflix 技术博客:一个利用视觉-语言模型和主动学习高效构建视频分类器的框架
  • 初始C语言---第四讲(数组)
  • Python So Easy 大虫小呓三部曲 - 高阶篇
  • 【语音技术】什么是实体
  • appium中urllib3.exceptions.LocationValueError: No host specified. 的错误解决办法
  • cv快速input
  • InfluxDB 与 Node.js 框架:Express 集成方案(二)
  • SpringBoot与TurboGears2跨栈、整合AI服务、智能客服路由系统整合实战
  • 基于Redis自动过期的流处理暂停机制
  • dbt中多源数据的处理
  • 仿真电路:(十七下)DC-DC升压压电路原理简单仿真
  • Git下载及安装保姆级教程
  • 电子电气架构 --- 汽车网络安全概述
  • 深入 Go 底层原理(九):context 包的设计哲学与实现
  • 八股取士-go
  • python爬取豆瓣电影评论通用代码
  • Getedit-得辑SCI论文润色的重要性?
  • 自动驾驶:技术、应用与未来展望——从开创到全面革新交通出行
  • 【Linux系统】详解,进程控制
  • mongo,mongod,mongos指令
  • 【Linux】vim—基操