首页 技术 正文
技术 2022年11月19日
0 收藏 478 点赞 5,943 浏览 2703 个字

一、简介

arm开发板制作系统是比较麻烦,不论使用busybox还是yocto制作根文件系统对新手都比太友好,除非深度定制,否则使用ubuntu系统既可以满足,把更多的精力放在应用开发上。

二、准备材料

我使用的芯片是RK3288,小伙伴可以根据自己的情况选择开发版。

开发环境:VMware

操作系统:ubuntu

开发版:RK3288

三、ubuntu的下载与配置

  1. 下载ubuntu系统

    ubuntu官网根文件系统下载地址 http://cdimage.ubuntu.com ,根据需要下载自己所需的版本,我使用的是ubuntu20.04.2。打开链接后选择ubuntu-base → releases → 版本号 → release → ubuntu-base-20.04.1-base-armhf.tar.gz 下载完成后将ubuntu-base-20.04.1-base-armhf.tar.gz拷贝到ubuntu下,并解压。

mkdir ubuntu20.04.2
sudo tar zxf ubuntu-base-20.04.1-base-armhf.tar.gz -C ubuntu20.04.2
  1. 安装qemu-user-static工具

    安装完成后拷贝“/usr/bin/qemu-arm-static”到刚刚解压文件的“/usr/bin”路径下。

sudo apt-get install qemu-user-static
sudo cp /usr/bin/qemu-arm-static ubuntu20.04.2/usr/bin/
  1. 网络配置

    我在上一篇文章中uboot通过NFS挂载ubuntu根文件系统,介绍在ubuntu20.04.2/etc/apt/sources.list文件中更改ubuntu的软件源,不知道为啥这次配置后反而下载不了,所以这里我就没有配置,各位小伙伴视情况而定。为了制作成功的根文件系统能够联网,可以直接拷贝本机的dns配置文件到根文件系统的相应位置。

sudo cp /etc/resolv.conf ubuntu20.04.2/etc/resolv.conf
  1. 使用chroot工具挂载文件系统

    挂载成功后会进入到我们下来的系统中,注意里面的操作都是对我们挂载的系统进行操作的,无法在对开发系统进行操作,除非使用exit命令退出。

sudo chroot ubuntu20.04.2

  1. 安装软件

    首先更新源,更新完成,安装必要软件,如有需要根据自己需求安装所需的软件即可,以下是我使用时需要的软件。

apt-get update
apt-get upgrade
# 需要安装的软件
apt-get install sudo
apt-get install openssh-server
apt-get install vim
apt-get install net-tools
apt-get install udhcpc
apt-get install iputils-ping
  1. 用户配置

    设置root密码

passwd root

创建用户

adduser rk3288

设置主机名称和本机IP

echo "rk3288" > /etc/hostname
echo "127.0.0.1 localhost" >> /etc/hosts
echo "127.0.1.1 rk3288" >> /etc/hosts
  1. 设置串口和网络dhcp

    因为没有安装桌面,所以这里的配置要和内核中登录的串口的设备对应,否则串口会卡死,无法登陆。

sudo vim /lib/systemd/system/serial-getty\@.service

修改BindsTo选项将‘dev-%i.device’改成‘dev-%i’,修改ExecStart选项将‘-/sbin/agetty –keep-baud 115200,38400,9600 %I $TERM’改成‘-/sbin/agetty -a root –keep-baud 115200,38400,9600 %I $TERM’

  1. 退出挂载
exit

四、打包跟文件系统

不同的开发板需要的文件格式不一样,有的只需要将根文件系统压缩即可,是情况而定。RK3288需要的是.img格式,所以需要将根文件系统打包成.img文件,具体的操作方法我就不在介绍了,可以了解我之前文章linux下制作img文件

五、烧写文件

  1. 打开瑞芯的烧写软件,文件结构如图所示

  2. 拷贝文件系统到

    \rockdev\Image路径下

  3. 打开AndroidTool_Release/AndroidTool.exe烧写工具,并将rootfs替换成要烧写的软件

  4. 通过ota连接设备,进入烧写模式,这里烧写的是linux系统,所以和andriod系统的烧写有所不同,具体如下

  5. 完成烧写

五、网络测试

  1. 通过sudo udhcpc自动获取网络
ifconfig

sudo udhcpc

  1. 打开ssh登录

    修改/etc/ssh/sshd_config文件,

vim /etc/ssh/sshd_config

打开PermitRootLogin和PasswordAuthentication。

重启ssh服务

systemctl restart ssh

完成后就可以打开ssh服务了

六、磁盘空间

  • df(英文全称:disk full):列出文件系统的整体磁盘使用量
  • du(英文全称:disk used):检查磁盘空间使用量
  • fdisk:用于磁盘分区
  1. 查看文件系统的整体磁盘使用量
df -h

  1. 查看磁盘分区
fdisk -l

  1. 用于列出所有可用块设备的信息
sudo lsblk

从上面信息可以看出来我整个空间有14G左右,但是文件系统使用的空间只有4G左右,还有10G的空间未使用,所以现在需要将系统空间重新分配一下。

  1. 重新分配空间

    从下图中可以明显看出来我整个空间有14G左右,而空间/dev/mmcblk2p5挂载的是根文件系统,并且空间有14.3G,但是通过df -h查看时只使用了4G左右,还有一部分空间未使用,所以只需要使用命令resize2fs将/dev/mmcblk2p5空间重新分配一下即可。

    重新分配根文件空间

sudo resize2fs /dev/mmcblk2p5

到此在ARM架构中安装ubuntu系统已经完成了,有写得不好的地方望小伙伴们指出,我将努力学习并改进。

参考文献

RK3288的ubuntu根文件系统制作与配置:https://www.it610.com/article/1291557055815032832.htm

resize2fs命令 – 调整文件系统大小:https://www.linuxcool.com/resize2fs

Linux 磁盘管理:https://www.runoob.com/linux/linux-filesystem.html

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,038
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,524
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,372
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,152
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,785
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,867