瑞芯微Rockchip开发者社区
直播中

张涛

7年用户 1338经验值
私信 关注
[经验]

基于Ubuntu 18.04 64bit根文件系统定制步骤

准备工作

安装 qemu
在 Linux PC 主机上安装模拟器:
sudo apt-get install qemu-user-static

下载和解压 ubuntu-core
用户可以到 ubuntu cdimg 下载,选择下载 ubuntu-base-18.04.5-base-arm64.tar.gz。
下载完之后,创建临时文件夹并解压根文件系统:
mkdir 温度
sudo tar -xpf ubuntu-base-18.04.5-base-arm64.tar.gz -C temp

修改根文件系统

准备工作
准备网络:
sudo cp -b /etc/resolv.conf temp/etc/resolv.conf
准备 qemu:
sudo cp /usr/bin/qemu-aarch64-static temp/usr/bin/
创建一个挂载脚本,命名为 mount.sh,脚本内容如下:
#!/bin/bash
mnt() {
  回声“安装”
  sudo mount -t proc /proc ${2}proc
  sudo mount -t sysfs /sys ${2}sys
  sudo mount -o 绑定 /dev ${2}dev
  sudo mount -o 绑定 /dev/pts ${2}dev/pts
}
umnt () {
  回声“卸载”
  sudo umount ${2}proc
  sudo umount ${2}sys
  sudo umount $ {2} dev / pts
  sudo umount $ {2} 开发
}
如果 [ "$1" == "-m" ] && [ -n "$2" ] ;
然后
  元 1 美元 2 美元
elif [ "$1" == "-u" ] && [ -n "$2" ];
然后
  1 美元 2 美元
添加执行权限并使用脚本进行挂载:
注意:稍后定制完成一定要记得取消挂载!!!
chmod +x mount.sh
./mount.sh -m 温度/
进入根文件系统进行操作:
须藤 chroot 温度

更新及安装
更新:
适当的更新
适当升级
至少需要安装一个 systemd,否则开机无法进入系统
apt install -y systemd
安装自己需要的功能
apt install vim git ....(根据自己需求添加)
安装 xubuntu:
apt-get 安装 xubuntu-desktop
可能出现错误:
E: 找不到包 xxxx
安装包的源没有添加到 /etc/apt/source.list 中,导致无法识别安装包,可以自行添加源,也可以使用下面给出的 source.list 覆盖原来的 /etc/apt/source.list 文件:

添加用户及设置密码

添加用户:
useradd -s '/bin/bash' -m -G adm,sudo firefly
给用户设置密码:
密码萤火虫
给root用户设置密码:
密码根
修改完自己的根文件系统就可以退出了。
出口
一定要取消挂载:
./mount.sh -u 温度/

制作根文件系统

制作自己的根文件系统,大小依据自己的根文件系统而定,注意依据 temp 文件夹的大小来修改 count 值:
mkdir rootfs
dd if=/dev/zero of=linuxroot.img bs=1M count=4000
mkfs.ext4 linuxroot.img
sudo mount linuxroot.img rootfs/
sudo cp -rfp temp/* rootfs/
sudo umount rootfs /
e2fsck -p -f linuxroot.img
resize2fs -M linuxroot.img
这样 linuxroot.img 就是最终的根文件系统映像文件了。

常见问题
根文件系统加载后,大小不正常,未占满整个分区:
在系统正确加载后执行扩展文件系统命令:
resize2fs /dev/mtd/by-name/linuxroot

原作者:Firefly Wiki

回帖(1)

王帅

2022-5-1 11:52:24
举报

更多回帖

发帖
×
20
完善资料,
赚取积分