BananaPi的linux内核移植

BananaPi的linux内核移植

一、前言

    本章记录在BananaPi上移植linux内核的过程,跟u-boot一样,官方源码同样完美支持BananaPi,这样移植起来就非常方便了,不需要更改一行代码,一个文件。linux内核对BananaPi板级资源通过设备树的形式进行加载,无需修改底层平台代码。只需编译设备树文件即可。

二、移植linux内核

    1、下载官方linux内核源码。

wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.8.tar.gz

    2、解压linux内核源码。

tar xzvf linux-5.1.8.tar.gz 

    3、配置linux内核,使用官方提供的全志系列处理器默认配置。

cd linux-5.1.8/
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- sunxi_defconfig

    4、编译内核镜像zImage。

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 zImage

    5、编译BananaPi设备树。

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 sun7i-a20-bananapi.dtb

    6、编辑boot.cmd。

cd arch/arm/boot/
vim boot.cmd setenv bootargs console
=ttyS0,115200 console=tty0 disp.screen0_output_mode=EDID:1280x720p50 hdmi.audio=EDID:0 console=tty1 root=/dev/mmcblk0p2 rw rootfstype=ext4 elevator=deadline rootwait load mmc 0 0x43000000 sun7i-a20-bananapi.dtb load mmc 0 0x48000000 zImage bootz 0x48000000 - 0x43000000

    7、安装u-boot工具mkimage。

sudo cp ~/bananapi/u-boot/u-boot-2018.09/tools/mkimage /usr/local/bin/

    8、生成boot.scr。

mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n 'Execute Boot Script' -d boot.cmd boot.scr

    9、拷贝boot.scr、sun7i-a20-bananapi.dtb、zImage三个文件到SD卡中。

sudo mount /dev/sdb1 /mnt
sudo cp boot.scr dts/sun7i-a20-bananapi.dtb zImage /mnt/
sudo umount /mnt

三、结束

    至此linux内核已经可以正常启动了,不过由于没有根文件系统,最终会卡死。

转载于:https://www.cnblogs.com/apolar/p/11154103.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值