加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_沈阳站长网 (https://www.024zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

全志F1C200s从零开发-虚拟机搭建Ubuntu环境

发布时间:2022-10-18 12:55:31 所属栏目:Linux 来源:
导读:  我们从零开始开发编译全志F1C200s,在Vmware上搭建Ubuntu环境,作为编译liunx镜像环境。

  1、下载安装VMware

  自行百度

  2、下载安装Ubuntu20.04

  参考:虚拟机VMware安装ubuntu教程
  我们从零开始开发编译全志F1C200s,在Vmware上搭建Ubuntu环境,作为编译liunx镜像环境。
 
  1、下载安装VMware
 
  自行百度
 
  2、下载安装Ubuntu20.04
 
  参考:虚拟机VMware安装ubuntu教程(ubuntu-20.04.1-desktop-amd64.iso)_-借我杀死庸碌的情怀-的博客-CSDN博客_ubuntu-20.04-desktop-amd64.iso
 
  3、安装VMware tools
 
  参考:
 
  vmware下ubuntu虚拟机如何安装vmware tools_小啊锋的博客-CSDN博客
 
  4、更新系统软件源,更新软件
 
  sudo apt update
 
  sudo apt upgrade
 
  5、添加国内阿里镜像源
 
  ubuntu20.04更换国内软件源的方法_空中飞的小昆虫的博客-CSDN博客_ubuntu20.04 更换国内源
 
  6、开发工具链下载
 
  编译工具链官网:Accelerating deployment of Arm-based solutions - Linaro
 
  或Arm GNU Toolchain,以linaro为例:进入support->downloads可以看到下载页面,点击GNU cross-toolchain binary archives,可以进入对应下载列表,可以看到各个版本的toolchain,这里我使用的latest-7/arm-linux-gnueabi/即gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabi即可。
 
  地址:Linaro Releases
 
  7、安装gcc,arm-linux-gnueabi
 
  VMware虚拟机Ubuntu共享文件夹_Mr.zwX的博客-CSDN博客_ubuntu虚拟机共享文件夹
 
  参考:ubuntu+gcc-linaro-交叉编译环境搭建 - 百度文库
 
  2.环境准备
 
  1、准备TF卡
 
  由于我买的板子没有spi-flash,所以系统只能用TF卡启动。
 
  在windows下格式化TF卡,然后挂载到ubuntu上。ubuntu上打开GParted软件,该软件可以在ubuntu自带的软件商店下载,用GParted给TF卡分两个区
 
  选择TF卡。新建BOOT分区,主要用来烧录uboot和存放镜像设备锁,格式如下
 
  再新建一个分区,用于存放rootfs
 
  suse linux 软件源_linux 软件源 终端_linux软件源
 
  然后确定 ,TF卡准备完成
 
  2、克隆uboot
 
  新建个目录用于存放uboot、linux和rootfs
 
  sudo mkdir CherryPi,cd进入该目录
 
  git clone -b nano-v2018.01
 
  3、配置编译uboot
 
  cd uboot
 
  gedit Makefile
 
  在Makefile中的248行和249行分辨添加ARCH=arm、CROSS_COMPILE=arm-linux-gnueabi-
 
  make distclean #对uboot清理
 
  make licheepi_nono_defconfig #对uboot进行配置
 
  由于我用的这块板子串口用的是uart1,所以要修改uboot串口为uart1.
 
  按照教程设置好串口,即可编译
 
  make -j12
 
  烧写
 
  sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8
 
  四、linux
 
  1、克隆linux
 
  git clone --depth=1 -b nano-4.14-exp
 
  2、编译linux
 
  cd linux-nano-4.14-exp
 
  修改Makefile,sudo vi Makefilelinux软件源,添加下面两行代
 
  获取官方配置文件放置arch/arm/configs/ 并修改名字mv linux-cheepi_nano_defconfig cheepi_nano_defconfig
 
  wget mv licheepi_nano_defconfig
 
  配置make licheepi_nano_defconfig
 
  3、修改linux串口为uart1
 
  4、编译linux
 
  make -j12
 
  5、启动linux
 
  将编译好的zImage和suniv-f1c100s-licheepi-nano.dtb文件放置到TF卡的BOOT分区
 
  sudo cp arch/arm/boot/zImage /media/BOOT && cp arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dtb /media/BOOT
 
  板子插入TF卡,上电进图u-boot终端
 
  6、修改环境变量
 
  setenv bootcmd 'fatload mmc 0:1 80C00000 suniv-f1c100s-licheepi-nano.dtb;fatload mmc 0:1 80008000 zImage;bootz 80008000 - 80C00000;' #读取设备树和镜像文件
 
  setenv bootargs 'console=tty0 console=ttyS1,115200' #修改串口输出
 
  saveenv #保存环境变量
 
  boot #重启板子
 
  内核加载成功,由于没有加载根文件系统,所以卡住了
 
  五、根文件系统
 
  1、buildroot准备
 
  wget
 
  tar xvf buildroot-2017.08.tar.gz
 
  cd buildroot-2017.08/
 
  2、配置
 
  make menuconfig
 
  串口配置为uart1
 
  芯片配置
 
  其他保持不变,也可以根据需求进行配置
 
  3、编译
 
  make #buildroot没有多线程
 
  漫长的等待。。。
 
  cd output/image
 
  sudo tar -xvf rootfs.tar -C /media/sunny/rootfs #解压根目录到TF卡的rootfs分区
 
  4、测试
 
  把TF卡插入板子,上电进去u-boot,修改bootargs环境变量加载根目录
 
  setenv bootargs ‘console=tty0 console=ttyS1,115200 panic=5 rootwait root=/dev/mmcblk0p2 rw’
 
  saveenv #保存环境变量
 
  boot #板子复位
 
  大功告成
 
  笔记:使用LicheePi的u-boot库:GitHub - Lichee-Pi/u-boot: "Das U-Boot" Source Tree
 
  F1c100s:使用分支nano-v2018.01
 
  F1c200s:使用分支nano-lcd800480
 
  V3s:使用分支v3s-current
 
  编译和烧录教程参考:全志F1C100S/F1C200S学习笔记(3)——u-boot编译与烧录_丨匿名用户丨的博客-CSDN博客_f1c200s 分辨率
 

(编辑:我爱制作网_沈阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!