欢迎光临散文网 会员登陆 & 注册

WSL交叉编译arm64 kernel

2023-10-09 05:55 作者:拉拉姬nikke  | 我要投稿

建议在debian或ubuntu进行编译

安装编译需要的一些工具:apt install build-essential

还需要下载arm的工具链

https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads

编译内核,通常选择 aarch64-none-linux-gnu

解压后将bin目录添加到环境变量

export PATH=$PATH:/.../arm-gnu-toolchain-VERSION-x86_64-aarch64-none-linux-gnu/bin

内核配置菜单

make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- menuconfig

编译内核(Image):

make -j$(nproc) ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- Image

设备树(dts):

make -j$(nproc) ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- dtbs

模块(modules)

make -j$(nproc) ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- modules

WSL 的 /boot 和 /lib/modules默认一般都是空文件夹

直接在wsl本机 make install ,make modules_install

Image会被安装到 /boot/vmlinuz-版本号(一个文件)

模块会被安装到 /lib/modules/内核版本(一个文件夹)

直接手动提取出来,制作软件包

复制到目标机器的相应路径就好

安装好要重新生成initramfs

Debian: initramfs -u 

RHEL: dracut -f

Archlinux: mkinitcpio -P

执行以上指令,如果新的内核版本号不同,需要指定版本号


WSL交叉编译arm64 kernel的评论 (共 条)

分享到微博请遵守国家法律