ARM架构安装ubuntu系统
⼀、简介
arm开发板制作系统是⽐较⿇烦,不论使⽤busybox还是yocto制作根⽂件系统对新⼿都⽐太友好,除⾮深度定制,否则使⽤ubuntu系统既可以满⾜,把更多的精⼒放在应⽤开发上。
⼆、准备材料
我使⽤的芯⽚是RK3288,⼩伙伴可以根据⾃⼰的情况选择开发版。
开发环境:VMware
操作系统:ubuntu
开发版:RK3288
三、ubuntu的下载与配置
1. 下载ubuntu系统
ubuntu官⽹根⽂件系统下载地址 ,根据需要下载⾃⼰所需的版本,我使⽤的是ubuntu20.04.2。打开链接后选择ubuntu-base → releases →版本号→ release → ubuntu-base-20.04. 下载完成后将ubuntu-base-20.04.拷贝到ubuntu下,并解压。
mkdir ubuntu20.04.2
sudo tar zxf ubuntu-base-20.04. -C ubuntu20.04.2
2. 安装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/
3. ⽹络配置
我在上⼀篇⽂章中,介绍在ubuntu20.04.2/etc/apt/sources.list⽂件中更改ubuntu的软件源,不知道为啥这次配置后反⽽下载不了,所以这⾥我就没有配置,各位⼩伙伴视情况⽽定。为了制作成功的根⽂件系统能够联⽹,可以直接拷贝本机的dns配置⽂件到根⽂件系统的相应位置。
sudo cp /f ubuntu20.04.2/f
4. 使⽤chroot⼯具挂载⽂件系统
挂载成功后会进⼊到我们下来的系统中,注意⾥⾯的操作都是对我们挂载的系统进⾏操作的,⽆法在对开发系统进⾏操作,除⾮使⽤exit命令退出。
sudo chroot ubuntu20.04.2
5. 安装软件
⾸先更新源,更新完成,安装必要软件,如有需要根据⾃⼰需求安装所需的软件即可,以下是我使⽤时需要的软件。
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 iproute2
apt-get install udhcpc
apt-get install iputils-ping
6. ⽤户配置
设置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
7. 设置串⼝和⽹络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’
8. 退出挂载
exit
四、打包跟⽂件系统
不同的开发板需要的⽂件格式不⼀样,有的只需要将根⽂件系统压缩即可,是情况⽽定。RK3288需要的是.img格式,所以需要将根⽂件系统打包成.img⽂件,具体的操作⽅法我就不在介绍了,可以了解我之前⽂章。
五、烧写⽂件
1. 打开瑞芯的烧写软件,⽂件结构如图所⽰
2. 拷贝⽂件系统到
ubuntu网络配置\rockdev\Image路径下
3. 打开AndroidTool_烧写⼯具,并将rootfs替换成要烧写的软件
4. 通过ota连接设备,进⼊烧写模式,这⾥烧写的是linux系统,所以和andriod系统的烧写有所不同,具体如下
5. 完成烧写
五、⽹络测试
1. 通过sudo udhcpc⾃动获取⽹络
ifconfig
sudo udhcpc
2. 打开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
2. 查看磁盘分区
fdisk -l
3. ⽤于列出所有可⽤块设备的信息
sudo lsblk
从上⾯信息可以看出来我整个空间有14G左右,但是⽂件系统使⽤的空间只有4G左右,还有10G的空间未使⽤,所以现在需要将系统空间重新分配⼀下。
4. 重新分配空间
从下图中可以明显看出来我整个空间有14G左右,⽽空间/dev/mmcblk2p5挂载的是根⽂件系统,并且空间有14.3G,但是通过df -h查看时只使⽤了4G左右,还有⼀部分空间未使⽤,所以只需要使⽤命令resize2fs将/dev/mmcblk2p5空间重新分配⼀下即可。
重新分配根⽂件空间
sudo resize2fs /dev/mmcblk2p5
到此在ARM架构中安装ubuntu系统已经完成了,有写得不好的地⽅望⼩伙伴们指出,我将努⼒学习并改进。
参考⽂献
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论