【龙芯99派新世界】1.buildroot移植(恢复wifi)

添加编译器解压到想要的路径(/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部分(恢复wifi)

首先获取固件和驱动

驱动获取:在旧世界的内核路径drivers/net/wireless下有一个aic8800文件夹,复制到新内核中,并修改wireless文件夹下的Makefile和Kconfig文件。

# 自行添加Makefile文件
obj-y += aic8800/
#自行添加Kconfig文件
source "drivers/net/wireless/aic8800/Kconfig"

固件获取:在旧世界的根文件系统路径/vendor/etc/下有firmware文件夹改名为aic8800_sdio,复制到新世界根文件系统的路径/usr/lib/firmware文件夹下。 

编译命令(要有编译器)

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 和模块

 用第二个有menuconfig的命令开启aic8800的驱动,内置和模块化都可以,aic8800_fdrv一定要有其他不选也行。(模块化要自己编译好驱动自己移植到根文件系统中)

模块驱动放置路径/usr/lib/modules/6.9.0-rc7(没有路径自己mkdir)

接着用【久久派新世界系统烧录】 https://www.bilibili.com/video/BV12tsJeXEWK/?share_source=copy_web&vd_source=7be807e6e0ccf4dcc0eccf6d9d643e67这个视频的方法修改设备树和mmc驱动即可,接着看看GPIO是不是有冲突,默认有一个PWM冲突sdio去掉pwm,同时触摸屏也和一个有冲突,用编译命令进行编译。

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__) || \

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值