从零开始 荔枝派nano TF卡启动
1.开发环境
# 获取编译器
sudo mkdir /usr/local/arm
cd /usr/local/arm
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
tar -vxJf gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz# 修改环境变量
sudo nano /etc/profile# 把它添加在最后保存退出
export PATH=$PATH:/usr/local/arm/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin# 安装相关库
sudo apt-get install lsb-core lib32stdc++6# 重启,验证
arm-linux-gnueabi-gcc -v
结果如下
2.使用u-boot
# 安装必要的工具(不一定足够全,编译过程出现问题进行百度再安装)
sudo apt install gcc python swig python-dev bc device-tree-compiler# 获取u-boot
git clone https://github.com/Lichee-Pi/u-boot.git -b nano-v2018.01# 由于太慢我已经克隆到gitee上了
git clone https://gitee.com/qiushanyue/u-boot.git -b nano-v2018.01# 进入目录设置编译前的默认配置
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- licheepi_nano_defconfig# 进行可视化配置
sudo apt-get install libncurses5-dev
make ARCH=arm menuconfig# 开始编译 -j是cpu线程数
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j12
如果觉得输入ARCH、CROSS_COMPILE 不爽,可以把配置写在顶层Makefile
sudo nano Makefile
# 添加
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-gnueabi-
# 查看sd卡
sudo fdisk -l# 找到内存卡,我的是/dev/sdb,在下面改好
sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8
3.修改u-boot(为启动linux做准备)
uboot倒计时结束,要启动Linux内核,所以需要修改配置文件使u-boot去执行
/* bootcmd 保存着 uboot 默认命令, uboot 倒计时结束以后就会执行 bootcmd 中的命令 */
/* bootargs 保存着 uboot 传递给 Linux 内核的参数*/
sudo nano /include/configs/suniv.h/* 添加以下代码(mmc 0为TF卡,1是第一分区,文件系统为fat32,把zImage和dtb文件拷入DRAM)*/
#define CONFIG_BOOTCOMMAND "fatload mmc 0:1 0x80800000 zImage; " \"fatload mmc 0:1 0x83000000 suniv-f1c100s-licheepi-nano.dtb; " \"bootz 0x80800000 - 0x83000000;"/* 继续添加(linux将使用uart0进行交互,死机5s重启,根文件系统在mmc0(tf卡)第二分区(EXT4),等待 mmc 设备初始化完成以后再挂载,开启读写权限) */
#define CONFIG_BOOTARGS "console=ttyS0,115200 panic=5 root=/dev/mmcblk0p2 rootwait rw "/* 回到u-boot目录进行编译 */
make ARCH=arm menuconfig
/* 取消勾选 [] Enable a default value for bootcmd */
/* 勾选 [v] Enable boot arguments;*/make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j12
将生成的u-boot-sunxi-with-spl.bin文件再烧录到TF卡
4.编译linux内核
/* 获取Linux内核 */
git clone https://github.com/Lichee-Pi/linux.git --depth=1 -b nano-4.14-exp
/* 克隆到gitee上的 */
git clone https://gitee.com/qiushanyue/linux.git --depth=1 -b nano-4.14-exp/* 下载配置文件 */
wget http://nano.lichee.pro/_static/step_by_step/lichee_nano_linux.config/* 修改下载的配置文件名为.config */
mv lichee_nano_linux.config .config/* 可视化配置 */
make ARCH=arm menuconfig/* 编译,出错的话应该是有插件未安装,百度然后apt install */
sudo apt-get install libssl-dev
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j12
# 查看挂载的磁盘信息
df
# 结果如下
/dev/sdb2 15214512 43048 14378888 1% /media/qiushan/6e70566c-5537-4463-a35e-b7f7c729feb7
/dev/sdb1 32686 6742 25944 21% /media/qiushan/A26F-2337# 执行命令 -d为强制复制
cp arch/arm/boot/zImage /media/qiushan/A26F-2337 -d
cp arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dtb /media/qiushan/A26F-2337 -d
5.根文件系统
# 安装依赖
apt-get install linux-headers-$(uname -r)# 获取buildroot源码
wget https://buildroot.org/downloads/buildroot-2017.08.tar.gz
tar xvf buildroot-2017.08.tar.gz
cd buildroot-2017.08/# 配置bulidroot
make menuconfig# 下载依赖工具包,下载完之后,解压后复制到"buildroot-2017.08/dl/"下,没有dl文件夹可自行创建。
链接:https://pan.baidu.com/s/1_tBdX9K7fOkH9JdXZ_MdiQ# 编译,不支持多线程(出现问题,继续百度安装插件apt install g++等)
make
根文件系统在 ./output/images/rootfs.tar,解压到第二分区
# 查看挂载的磁盘信息
df
# 结果如下
/dev/sdb2 15214512 43048 14378888 1% /media/qiushan/6e70566c-5537-4463-a35e-b7f7c729feb7
/dev/sdb1 32686 6742 25944 21% /media/qiushan/A26F-2337# 执行命令
tar -xvf output/images/rootfs.tar -C /media/qiushan/6e70566c-5537-4463-a35e-b7f7c729feb7
sync //同步一下
从零开始 荔枝派nano TF卡启动相关推荐
- 荔枝派Nano TF卡运行Linux全流程
目录 前言 一.安装依赖 二.从u-boot启动 1.安装交叉编译链 2.编译u-boot 三.主线Linux编译 四.设备树添加电阻屏节点 五.根文件系统编译 后记 前言 最近入坑了搭载10元超便宜 ...
- 荔枝派nano初体验-windows写入镜像到TF卡启动
荔枝派nano是一个很小的系统,搭载全志F1C100S芯片,具有ddr内存,支持tf,flash启动. 本人在了解荔枝派的特点之后,在淘宝上找到了一个57块钱的荔枝派nano,一般价格都是在85左右, ...
- 基于荔枝派Nano学习Buildroot的构建过程
文章目录 0. 声明 1. 前言 2. 开发环境以及工具准备 2.1 主机系统 2.2 编译工具链 3. 构建系统Buildroot 3.1 工程配置 (1)首次构建工具链的情况 (2)使用外部工具链 ...
- 自制F1C200S demo板(四、TF卡启动)
思来想去,发现使用SIPFLASH也不是百分百完美,也终于明白为何最小demo板要首推TF卡启动了. 主要是现在想学Linux驱动,但使用SPIFLASH就需要用uboot和kernel两个同时打包为 ...
- 荔枝派 Nano 全志 F1C100s 编译运行 Linux 笔记
首先是荔枝派的官方文档,写的不是很细,应当说我们必须明确几点: 出厂时 SPI Flash 自带了一个 U-Boot+Linux Kernel(出厂的时候可能烧过了),可直接拿来用.如果希望自己烧固件 ...
- 荔枝派nano上手笔记(一)移植Uboot
在放假前就买了荔枝派nano和zero这俩块小板子,打算寒假上手玩一下,但是赶放假看了看官方的文档发现那时的水平还不太能玩的动,那时对Linux基本不太熟悉,只会一些简单的操作,经过了快一个月的学习, ...
- 荔枝派 Nano 全志 F1C100s 编译运行 Linux ubuntu并升级gcc
首先是荔枝派的官方文档,写的不是很细,应当说我们必须明确几点: 出厂时 SPI Flash 自带了一个 U-Boot+Linux Kernel(出厂的时候可能烧过了),可直接拿来用.如果希望自己烧固件 ...
- Jetson-nano:制作TF卡启动
旧Nano可以直接导入镜像至TF卡,然后插入卡槽即可启动系统. 但目前旧的英伟达已经停止生产底板,现在市面上都是带emmc的核心板,底板是由其他厂商进行扩容自行生产的,因为官方自带的emmc只有16G ...
- 玩转RT-Thread之荔枝派Nano(全志F1C100S) 新手上路
玩转RT-Thread之荔枝派Nano(全志F1C100S) 一.新手上路 --作者:燕十三(flyingcys) blog:http://blog.csdn.net/flyingcys --荔枝派n ...
最新文章
- 我被编程语言PUA了!用互联网黑话写代码,每天都在“赋能”变量
- 打一针就可修复受损心脏,“癌症克星”CAR-T跨界疗法登上Science封面
- python教程哪个版本好-tensorflow用python哪个版本更好?
- linux水滴怎么抓包,tcpdump 抓包
- 实现JNI的另一种方法:使用RegisterNatives方法传递和使用Java自定义类 (转)
- ARP解决方法/工具+真假ARP防范区别方法+ARP终极解决方案
- 【Java】Java-ShutDownHook-优雅关闭系统资源
- 搞清楚模数、数模转换中的AGND和DGND
- 中国湿地沼泽分类分布/自然保护区分布
- 第三次作业_03功能测试
- 堆栈c语言 矩形填色,堆栈涂色官方版下载|堆栈涂色安卓版v0.1下载 - 一游网手机游戏...
- 华为OD社招Java岗面经,已OFFER
- unity,射手游戏
- 完全卸载 HP 打印机
- mysql replicator_聊聊rocketmq-mysql的Replicator
- 连接计算机名提示输入网络凭据,Win10访问局域网共享文件时提示输入网络凭据如何解决...
- linux桌面怎么解压tar文件,Linux中tar解压缩命令详解-tar文件怎么打开
- 解决maven库中没有Oracle jdbc驱动的问题Cannot resolve com.oracle:ojdbc14:10.2.0.1.0
- 20169218 2016-2017-2 《网络攻防实践》第二周学习总结
- html怎么设计为中文字体,CSS font-family中文字体设置方法