基于荔枝派Lichee Nano(全志f1c100s)的u-boot移植(一)
基于荔枝派Lichee Nano(f1c100s)的u-boot移植
- 1.安装交叉编译链
- 2.编译 u-boot
- 3.开始配置uboot相关信息
- 4.配置uboot传递参数,从nor flash启动内核。
- 5.增加了u-boot对spi flash的识别。
- 6.开始编译
说明:在编译过程中,有可能遇到一些报错,大概率是缺少了一些链接库,需要根据对应的错误进行安装。
1.安装交叉编译链
1.新建文件夹:mkdir f1c100s 并进入:cd f1c100s
2.下载编译链:wget https://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/arm-linux-gnueabi/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz
说明:如果有的对应的交叉编译器压缩包,自行拷贝到对应的目录下解压即可。
3.解压 :xz -d file.tar.xz 再次解压: tar -xvf file.tar
4.拷贝到对应的目录下(我这里放到了/usr/local/arm-gcc/,可以根据自己选择路径,等会需要用到)
5.打开.bashrc:vim .bashrc 添加编译链的bin文件路径 ( 类似windows下的添加环境变量 ):
在文件末尾 添加以下内容
PATH="$PATH:/usr/local/arm-gcc/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin/"
然后保存退出,最后更新环境变量:source .bashrc
2.编译 u-boot
1.进入f1c100s目录:cd f1c100s
2.拉取代码,从github上拉取对 Nano 进行了适配的 u-boot(如果没有git请先安装):git clone https://github.com/Lichee-Pi/u-boot.git
3.进入改目录:cd u-boot
4.查看分支:git branch -a
5.切换到 Nano 分支:git checkout nano-v2018.01 (说明:如果有uboot源码包直接解压即可)
3.开始配置uboot相关信息
1.此处告知make采用arm-linux-gnueabi下的所有交叉编译工具,目标架构为Arm,设定各项默认配置为 nano 的spiflash支持版
使用命令:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- licheepi_nano_spiflash_defconfig
若不带spi-flash的板子,请换成 licheepi_nano_defconfig:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- licheepi_nano_defconfig
2.进行可视化配置(make menuconfig),可使用命令:make ARCH=arm menuconfig
4.配置uboot传递参数,从nor flash启动内核。
1.需要从flash启动linux修改 include/configs/suniv.h,添加以下内容:(不推荐使用这种方式,看第二种方式)
//============================ 方式一 =================================
#define CONFIG_BOOTCOMMAND "sf probe 0 50000000; " \"sf read 0x80C00000 0x100000 0x4000; " \"sf read 0x80008000 0x110000 0x400000; " \"bootz 0x80008000 - 0x80C00000"
#define CONFIG_BOOTARGS "console=ttyS0,115200 panic=5 rootwait " \" mtdparts=spi32766.0:1M(uboot),64k(dtb),4M(kernel),-(rootfs) " \" root=/dev/mtdblock3 rw rootfstype=jffs2 "
//============================ 方式二 =================================
2.使用make ARCH=arm menuconfig进入配置界面:
2.1)添加参数:console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2
[*] Enable boot arguments(console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2) Boot arguments
2.2)添加参数:console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2
[*] Enable a default value for bootcmd (sf probe 0 50000000; sf read 0x80C00000 0x100000 0x4000; sf read 0x80008000 0x110000 0x400000; bootz 0x80008000 - 0x80C00000) Boot bootcmd
//==================================================================
5.增加了u-boot对spi flash的识别。
1.修改uboot源码下的:drivers/mtd/spi_spi_flash_ids.c,增加一行内容:
{"xt25f128", INFO(0x0b4018, 0x0, 64*1024, 256, 0)},
6.开始编译
1.使用命令:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8
2.编译完成后,可一看到目录下多了一堆以u-boot带头的文件,我们只需取 u-boot-sunxi-with-spl.bin 即可
基于荔枝派Lichee Nano(全志f1c100s)的kernel移植(二)
链接: link.(https://blog.csdn.net/qq_39721016/article/details/123396573)
基于荔枝派Lichee Nano(全志f1c100s)的u-boot移植(一)相关推荐
- 基于荔枝派Lichee Nano(全志f1c100s)的kernel移植(二)
基于荔枝派Lichee Nano(全志f1c100s)的kernel移植(二) 1.获取源代码 2.linux内核修改dts设备树文件 3.内核配置修改 3.1.使用命令进入配置界面 3.2.支持jf ...
- 基于荔枝派Lichee Nano(全志f1c100s)的rootfs移植(三)
基于荔枝派Lichee Nano(全志f1c100s)的rootfs移植(三) 1.下载Buildroot代码包 2.解压文件,获得源代码 3.配置Buildroot 4.编译 5.生成rootfs. ...
- 玩转RT-Thread之荔枝派Nano(全志F1C100S) 新手上路
玩转RT-Thread之荔枝派Nano(全志F1C100S) 一.新手上路 --作者:燕十三(flyingcys) blog:http://blog.csdn.net/flyingcys --荔枝派n ...
- 荔枝派 Nano 全志 F1C100s 编译运行 Linux 笔记
首先是荔枝派的官方文档,写的不是很细,应当说我们必须明确几点: 出厂时 SPI Flash 自带了一个 U-Boot+Linux Kernel(出厂的时候可能烧过了),可直接拿来用.如果希望自己烧固件 ...
- 荔枝派 Nano 全志 F1C100s 编译运行 Linux ubuntu并升级gcc
首先是荔枝派的官方文档,写的不是很细,应当说我们必须明确几点: 出厂时 SPI Flash 自带了一个 U-Boot+Linux Kernel(出厂的时候可能烧过了),可直接拿来用.如果希望自己烧固件 ...
- 基于荔枝派Nano学习Buildroot的构建过程
文章目录 0. 声明 1. 前言 2. 开发环境以及工具准备 2.1 主机系统 2.2 编译工具链 3. 构建系统Buildroot 3.1 工程配置 (1)首次构建工具链的情况 (2)使用外部工具链 ...
- 新手玩荔枝派 f1c100s nano折腾笔记(二)
查看文件信息 stat xxx 安装sunxi tools sudo apt install libz libusb-1.0-0-dev 报错unable to libz 改为sudo apt in ...
- 新手玩荔枝派 f1c100s nano折腾笔记(三)
应用开发篇: minimal_f1c100s-framebuffer.zip 荔枝派 nano引脚图 使用OTG功能没办法挂载U盘,插入TF卡,开机自动TF卡启动,开机后插入TF有提示,但找不到盘. ...
- lichee nano 荔枝派入门——linux内核
获取源代码 见<lichee nano 荔枝派入门--搭建环境> 个人建议使用如下命令克隆内核代码: # 下载默认带480*272LCD的版本 git clone --depth=1 -b ...
- lichee nano 荔枝派入门——u-boot
获取源代码 见上一篇文章<lichee nano 荔枝派入门--搭建环境> 切换分支 切换到lichee nano的代码分支,在u-boot目录下操作: # 查看分支 git branch ...
最新文章
- thinkphp-查询数据-基本查询
- 简单易懂的多线程(通过实现Runnable接口实现多线程)
- openCV学习教程(一):Mat类的使用
- boost::process::std_in相关的测试程序
- ps -ef 命令说明
- python库numpy的reshape的终极解释
- linux下dns视图配置
- Productivity Power Tools(Visual Studio 扩展) 最新亮点
- 一天入门Tableau详细教程(上)
- bzoj2821 作诗(Poetize)
- Excel转PDF,Excel行数过多导致PDF折行、换行显示
- HDU 4699 Editor(双向链表)
- Ural1671 Anansi's Cobweb
- 网络安全-CTF取证方法大汇总,建议收藏!
- 电子器件系列25:74HC138译码器
- [翻译]Linter简介-摘自维基百科
- 2022-08-02 乐理知识(一) 简谱的调号——简谱构造,唱名和音名,钢琴琴键的分组和命名方式,调号,全音和半音,调式,自然大调,C大调,音阶
- 斗鱼直播Android开发二面被刷,不吃透都对不起自己
- AR增强现实 Augmented Reality
- CSI笔记【6】:Guaranteeing spoof-resilient multi-robot networks论文阅读