您尚未登录。

楼主 #1 2019-11-21 22:36:12

Gbear
会员
注册时间: 2019-11-15
已发帖子: 34
积分: 53

学习笔记F1C100S之u-boot编译过程记录

本人纯属软件文盲,linux更文盲,本身做硬件设计的,对软件一窍不通 :) 自从掉到咱们论坛这个大坑后,翻贴无数,在此做一下记录,尽量多配截图,以方便后面的新手少走弯路,快速体验编译成功的小成就~ 高手勿喷高手勿喷高手勿喷~~~

由于是学习,所以采用了虚拟机安装ubuntu的方式,比较耐折腾,安装好后复制出来备份,需要重新安装系统的时候替换出来就可以了~
1、具体虚拟机安装ubuntu的过程在此不详细记录了,百度一堆一堆的。建议安装的时候断网,免得安装过程中下载插件。
2、安装好系统后,第一步先更新一下apt-get,具体命令是:

sudo apt-get update

备注:快速打开命令行的快捷键是Ctrl+Alt+t
更新apt-get
3、紧着接安装git工具,具体命令是:

sudo apt-get install git

安装git工具
4、获取编译工具,具体命令是:

mkdir f1c100s
cd f1c100s

以上是先建立了一个f1c100s的目录,然后进入f1c100s。也可以省去此步骤、没有影响。

wget http://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

获取编译工具
5、此时技巧来了,再次按Ctrl+Alt+t新建一个命令行窗口,拽取u-boot源码,具体命令是:

mkdir uboot
cd uboot

当然上面两行诗创建uboot目录和进入uboot目录的命令,可以省去,没有影响。

git clone https://github.com/Lichee-Pi/u-boot.git

拽取u-boot源码1
这时等待拽取源码或者获取编译工具结束,静静的等待 ·-· 。。。
6、其实我们还可以做点别的
根据坛友们的经验,尤其是晕哥的全志开发资料精华汇总, 持续更新 (******请大家继续补充********)LinjieGuo的尝试从零构建F1C100s开发环境

需要补充安装下面这些包,具体命令如下:

sudo apt-get install libncurses5-dev
sudo apt-get install device-tree-compiler
sudo apt-get install libncurses5-dev libncursesw5-dev
sudo apt-get install swig python-dev python3-dev

libncurses5-dev
device-tree-compiler
libncurses5-dev libncursesw5-dev
swig python-dev python3-dev

7、待获取编译环境的命令行窗口获取完毕后,安装vim编辑器,不装用vi也可以,具体命令是:

sudo apt install vim

我也搞不清楚什么时候用apt install什么时候用apt-get install,好像喵过一眼是说这是两个组合命令,get是获取,apt是安装,不作数,我这里糊涂着呢~
另外,不管你开了多少个命令行,貌似只能有一个apt-get运行,如果有运行中的apt-get再运行会报错。
vim
有关vim编辑器的使用自行百度补脑,不细说了~百度有很多。
8、解压编译环境,命令是:

tar -vxJf gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz

tar
9、拷贝编译环境到/opt/目录,也就是平常说的安装,命令是:

sudo cp -r ./gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi /opt/

cp
10、配置编译环境,添加path环境变量,具体方法是用vim打开/etc/目录下面的bash.bashrc,在末尾添加
PATH="$PATH:/opt/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin",这一行,具体操作是运行sudo vim /etc/bash.bashrc命令
然后按光标向下按键移动显示内容到最后面一行,再按光标向右键,移动到行尾,这时按“i”键,转化为插入模式。输入PATH="$PATH:/opt/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin"输入完后按ESC键,甭管显示什么,输入:wq保存退出即可。还是如前面提到的,具体怎么使用请百度。

sudo vim /etc/bash.bashrc

这里少截了一个图,借用后面更新source /etc/bash.bashrc命令的图吧~
bash
添加的内容是:

PATH="$PATH:/opt/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin"

path
wq
最后运行更新命令,命令如下:

source /etc/bash.bashrc

bash
小试一下gcc是否正常,使用gcc显示版本号的方式测试安装是否正常,出来一堆,反正我看不懂~~~
命令是:

arm-linux-gnueabi-gcc -v

gcc
自此整个编译环境获取、配置完毕。嗷嗷嗷,忘记说了,觉得有必要提醒一下,
从步骤7开始,都是在最开始打开的那个窗口或者说是步骤4哪里的那个窗口才可以完成的。
也许在其他窗口执行会有问题。

11、关闭所有的命令行窗口,按Ctrl+Alt+t重新打开一个窗口(因为之前分开三个窗口操作,为了节省时间),
命令行窗口之间操作的内容比如安装了XX,是不会过度到操作窗口以外的,除非是后面新打开的命令行窗口,不严谨的描述~高手勿喷!
正题:进入uboot目录,在进入u-boot目录,反正最终你找的u-boot目录,进去就OK了,运行git branch -a查看分支。具体命令是:

cd uboot
cd u-boot
git branch -a

gitbranch
选择nano-v2018.01分支,命令是:

git checkout nano-v2018.01

nano2018

12、开始编译咯,运行命令make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- licheepi_nano_spiflash_defconfig指定配置信息

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- licheepi_nano_spiflash_defconfig

makearch1.jpg
可视化配置,具体怎么配置坛内或者百度搜吧,我也不造~

make ARCH=arm menuconfig

menuconfig

正式开始编译,运行命令如下:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j1

make_ok
顺利编译
makels
其中末尾的J1是因为我电脑配置低,只分配给了虚拟机一个处理器,只有一个核心,可根据具体实际情况更改,核心数量越多编译越快。四核就是J4,J8都是土豪~~~~~

离线

楼主 #3 2019-11-21 23:25:09

Gbear
会员
注册时间: 2019-11-15
已发帖子: 34
积分: 53

Re: 学习笔记F1C100S之u-boot编译过程记录

晕哥 说:

太好了, 感谢有你这么认真的朋友!

坛友们都做了好多贡献,我吸取了论坛的资源,怎么好不做点贡献 yikes

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn