定制 Linux 内核(龙芯教育派):交叉编译

本文详细介绍了如何在x86_64Debian环境中,为龙芯处理器进行Linux内核的交叉编译。首先,安装龙芯的GCC交叉编译器和其他构建依赖,然后下载并配置内核源码,接着构建内核镜像、内核模块和头文件。最后,将编译结果打包并传输至龙芯设备,安装新内核以完成更新。
摘要由CSDN通过智能技术生成

定制 Linux 内核:交叉编译

  1. 准备编译环境
    准备一 x86_64 Debian环境。
    1.1. 安装龙芯交叉编译器

安装交叉 GCC 编译器

1.2. 安装其他构建依赖
进入 root 用户 shell,运行
$ apt install git-core bc bison flex libssl-dev makelibncurses5-dev
2. 获取内核源码
$ 手动去下载内核 https://github.com/Loongbian/linux
3. 配置内核编译配置
3.1. 加载龙芯 2k 默认配置
$ make ARCH=mips CROSS_COMPILE=mips64el-linux-gnuabi64- ls2k_defconfig debian.config
3.2. 配置内核构建选项(可选)
$ make ARCH=mips CROSS_COMPILE=mips64el-linux-gnuabi64- menuconfig
4. 构建内核
4.1. 构建内核镜像 vmlinuz
$ make ARCH=mips CROSS_COMPILE=mips64el-linux-gnuabi64- vmlinuz -j6
构建出的内核镜像文件名为 vmlinuz。
4.2. 构建并导出内核模块(可选,但强烈建议)
$ make ARCH=mips CROSS_COMPILE=mips64el-linux-gnuabi64- modules -j6
$ make ARCH=mips CROSS_COMPILE=mips64el-linux-gnuabi64- INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=kernel_modules modules_install
构建出的内核模块将位于 kernel_modules文件夹下,您可以更改上述命令中的 INSTALL_MOD_PATH 变量来自定义内核模块导出位置。
4.3. 导出内核头文件(可选)
$ make ARCH=mips CROSS_COMPILE=mips64el-linux-gnuabi64- INSTALL_HDR_PATH=kernel_headers headers_install
构建出的内核头文件将位于 kernel_headers文件夹下,您可以更改上述命令中的 INSTALL_HDR_PATH 变量来自定义内核头文件导出位置。
5. 打包内核文件并传至龙芯派
第二条 scp 命令执行前需要构建机器和龙芯派在同一个内网里,并在龙芯派上先安装好 openssh-server,可以通过 root 下运行 apt install openssh-server 来安装。或者你可以使用 u 盘将 linux-build.tar.gz 文件拷贝到龙芯派上来替代 scp 命令。
$ tar zcvf linux-build.tar.gz vmlinuz kernel_headers kernel_modules
$ scp linux-build.tar.gz loongson@ls2k:
若你没有导出内核模块,你需要将 tar 命令参数中的 kernel_modules 删去。若你没有导出内核头文件,将 kernel_headers 删去。
此外,你可能需要将 scp 命令中的 ls2k 替换为龙芯派的 IP 地址。
6. 安装内核文件
在龙芯派上登入 root 用户。
在以下命令中我们假定内核版本为 5.7.0-rc1+,内核版本可能有变化。我这里编译出的版本是5.7.0
6.1. 解压压缩包
$ mkdir kernel
$ cd kernel
$ tar xvf ~loongson/linux-build.tar.gz
6.2. 安装内核本身
$ mv vmlinuz /boot/vmlinuz-5.7.0
$ chmod 644 /boot/vmlinuz-5.7.0
6.3. 安装内核模块
如果你此前导出了内核模块,则运行,否则不用运行。
$ mv kernel_modules/lib/modules/5.7.0 /lib/modules
$ chmod -R 644 /lib/modules/5.7.0
6.4. 生成 initramfs
$ update-initramfs -c -k 5.7.0
6.5. 更新 PMON 启动项
$ pmon-update
现在你可以输入 reboot 命令重启龙芯派。启动过程中 PMON 启动菜单应会出现刚刚编译的新内核。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值