镜像目录:F:\Ubuntu
用户名:obm
密码:123456
linux常用命令
cd /home 进入home目录
cd ..返回上一级目录
cd ~进入home
ls 浏览文件
mkdir f1c100s创建目录
clear 清屏
参考教程:
https://whycan.com/t_3138.html
打开Ubuntu命令行
启动终端图标
快捷键:Ctrl+Alt+T
VMware连不上网,虚拟机设置为桥链模式
ifconfig获取ip
ssh quick connect,输入ip和账户密码
获取root权限:sudo -i,进入root目录cd /root
下载uboot源码,内核源码,根文件系统
vim保存退出
按【ESC】键跳到命令模式,然后再按shift+【:】冒号键,最后再按【wq】
编辑按i
不保存退出:q!
撤销u或者ctrl+r
sudo apt install make出错,改成sudo apt-get install make
连接nano串口到电脑,选择波特率115200;
提示登录,root 密码licheepi
提示:root login on 'console,应该是登录成功
发送ls
回复:littlevgl_demo
发送cd littlevgl_demo/
./littlevgl_benchmark
littlevgl_sysmon
改用
https://www.bilibili.com/video/BV1Nh411Z7v8?from=search&seid=11994414128484141088
参照视频,部分目录有
littlevgl
E:\OBM\5develop\荔枝派\Lichee Nano
下载镜像,按照视频拷入TF卡
应该选择这个镜像Nano_tf_800480.dd
执行 ./littlevgl_benchmark,显示屏对应变化
实战项目:播放视频和上网,使用串口采集数据
一、安装uboot
编译uboot,按照http://nano.lichee.pro/get_started/first_eat.html#id5,安装交叉编译链
使用arm-linux-gnueabi-gcc -v,测试成功
二、编译uboot
sudo apt-get install git
make ARCH=arm menuconfig,提示STOP错误,要进入u-boot里面执行
编译:报错 ①recipe for target 'scripts/dtc' failed
②recipe for target 'scripts' failed
安装 sudo apt-get install libncurses5-dev libncursesw5-dev
sudo apt-get install swig python-dev python3-dev
之后编译成功!!!
至此,Uboot编译成功!
编译linux内核
4.1 获取linux内核源码
(1)打开链接:https://github.com/Icenowy/linux.git
(2)选择分支:点击Branch->f1c100s-480272
(3)打包下载
(4)传到ubuntu中,解压
unzip f1c100s-480272lcd-test.zip
(5)下载别人配置好的配置文件
http://dl.sipeed.com/LICHEE/Nano/SDK/config
复制下载的文件到linux源码根目录,并改名字为".config"
(6)体验可视化配置
make ARCH=arm menuconfig
(7)编译
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4
解压有问题,用jar xvf,需要安装default jdk
复制文件到指定目录下,修改文件夹权限chmod -R 777 linux-f1c100s-480272lcd-test
编译工具链
arm-linux-gnueabi
编译内核报错,有可能是Ubuntu版本太低,GCC版本太低
建议ubuntu 16.04 LTS 64位——》自带VMware tools,棒棒哒
编译内核,提示缺少文件,
查看GCC编译器,.
01、首先更新包列表:
linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt-get update
02、键入以下命令安装build-essential软件包:
linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt install build-essential
该命令将安装一堆新包,包括gcc,g ++和make。
03、要验证GCC编译器是否已成功安装,请使用gcc --version命令打印GCC版本:
linuxidc@linuxidc:~/www.linuxidc.com$ gcc --version
遇到are you boot?前面加sudo
下载配置好的Ubuntu,解压第一个。
使用配置好的环境,编译没有问题。
使用sunxi-tools下载bin文件。
安装后在SSH Secure Shell上执行Connect to Remote Host时出现"Algorithm negotiation failed"警告
https://www.lmlphp.com/user/56/article/item/3114/
解决obm 123456登录
修改文件名:mv 原文件名 修改后的文件名
编译内核make ARCH=arm menuconfig出现错误,估计是源码下载错误。
果然,下载linjieguo的代码邮件发到自己的linux可以了
make ARCH=arm menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4
出现错误,fatal error
出现错误:
scripts/extract-cert.c:21:10: fatal error: openssl/bio.h: 没有那个文件或目录
安装工具:
sudo apt-get install libssl-dev
-----------------------------------------------
继续编译:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4
编译大概1个半小时,zimage is ready。变成成功。
编译根文件系统。
同内核编译一样,请下载 buildroot 的 .config 文件,重命名为 .config 后放到 buildroot目录下;
Tip
若编译时,buildroot下载软件包速度太慢,请下载 dl.zip ,将其中的软件包解压至 buildroot ‣ dl 下;
使用:
make
menuconfig
进行配置,添加或删除指定的软件包;
Target options --->
Target Architecture Variant (arm926t) ---> // arm926ejs架构
[ ] Enable VFP extension support // Nano 没有 VFP单元,勾选会导致某些应用无法运行
Target ABI (EABI) --->
Floating point strategy (Soft float) ---> // 软浮点
System configuration --->
(Lichee Pi) System hostname // hostname
(licheepi) Root password // 默认账户为root 密码为licheepi
[*] remount root filesystem read-write during boot // 启动时重新挂在文件系统使其可读写
编译
make
64位Ubuntu不兼容32位,要安装i386兼容包。
编译文件系统,修改 ./arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts文件,复制粘贴错误,只是在原来基础上插入,致使编译出现语法错误,对比linjieguo配置好的系统,重新修改编译OK
sudo sh BuildMyImage.sh
-----------------------------------------------
提示错误:
BuildMyImage.sh: 6: BuildMyImage.sh: mkfs.jffs2: not found
安装mtd-utils工具:
sudo apt-get install mtd-utils
安装过程中,有可能出现超时情况,多尝试几遍或者更换源试试。
提示进程占用,重启虚拟机系统,sudo apt-get install mtd-utils
安装成功,进而打包生成一个名为f1c100s_spiflash_16M.bin的文件。