BananaPi的u-boot移植

BananaPi的u-boot移植

一、前言

    本篇介绍如何移植u-boot给BananaPi,u-boot是用于启动linux内核的bootloader。负责搬运linux内核代码到内存,并传递参数启动内核。u-boot工作原理不做过多描述,自行百度。由于官方u-boot对BananaPi硬件支持相当不错,故本次移植是在不修改官方u-boot任何文件的条件下进行的,以免我粗鄙的手玷污了这神圣的代码。

二、编译u-boot源码

    1、下载官方u-boot源码。

wget ftp://ftp.denx.de/pub/u-boot/u-boot-2018.09.tar.bz2

     2、解压u-boot源码。

tar xjvf u-boot-2018.09.tar.bz2 

    3、安装make。

sudo apt install make

    4、安装gcc。

sudo apt install gcc

    5、安装bison。

sudo apt install bison

    6、安装flex。

sudo apt install flex

    7、安装swig。

sudo apt install swig

    8、安装python-dev。

sudo apt install python-dev

    9、配置u-boot,使用官方默认配置。

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bananapi_m1_plus_defconfig

    10、编译u-boot。

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

三、烧写u-boot到SD卡。

    1、给SD卡分区,尽量使用8GB以上的大容量卡,后面安装ubuntu根文件系统需要。给内核文件分8M空间,其余空间留给根文件系统。

sudo fdisk /dev/sdb
d
n
p
1
2048
+8M
n
p
回车
回车
t
1
b
t
2
83
w

    2、格式化分区。

sudo mkfs.fat /dev/sdb1
sudo mkfs.ext4 /dev/sdb2

    3、烧写u-boot到SD卡中。

sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8

四、结束

    取出SD卡,插在BananaPi板子的SD卡位置,接上串口或HDMI显示屏,重新上电即可看到u-boot启动信息,由于没有内核镜像,最终会卡死,属于正常现象。至此u-boot移植已经完成了,下一步移植linux内核。

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值