使用ubuntu-base制作根文件系统

1 :ubuntu官网下载最小根文件系统:

放置到电脑的ubuntu中,

Mkdir Ubuntu_rootfs

Cd Ubuntu_rootfs

Sudo tar --zxvf Ubuntu-bash-xxxxxx.tar.gz

2 :电脑的ubuntu安装qemu搭建arm模拟系统

将/usr/bin/qemu-arm-static/(64位拷贝)qemu-aachr64-static到解压的目录中的/usr/bin中

sudo apt install qemu-user-static

sudo /usr/bin/qemu-arm-static Ubuntu_rootfs/usr/bin

3 :拷贝电脑ubuntu的网络联网文件

Sudo cp /etc/resolv.conf Ubuntu_rootfs/etc/resolv.conf

如果电脑的源已经可以使用的就不用自己添加源,需要修改的话修改一下文件

Sudo vim Ubuntu_rootfs/etc/apt/source.list

4 :编写挂载文件和卸载文件:

bash 复制代码
####mymount.sh
#!/bin/bash
echo "mountting..."
sudo mount -t proc /proc /home/my_linux/ubuntu_rootfs/proc
sudo mount -t sysfs /sys /home/my_linux/ubuntu_rootfs/sys
sudo mount -o bind /dev /home/my_linux/ubuntu_rootfs/dev
sudo mount -o bind /dev/pts /home/my_linux/ubuntu_rootfs/dev/pts
sudo chroot /home/my_linux/ubuntu_rootfs
bash 复制代码
####myumount.sh

#!/bin/bash
echo "umountting..."
sudo umount -f /home/my_linux/ubuntu_rootfs/dev/pts
sudo umount -f /home/my_linux/ubuntu_rootfs/dev
sudo umount /home/my_linux/ubuntu_rootfs/sys
sudo umount /home/my_linux/ubuntu_rootfs/proc

附加执行权限:

Sudo chmod 777 mymount.sh

Sudo chmod 777 myumount.sh

运行脚本挂载系统:

Source mymount.sh

6 :安装ubuntu文件系统所需软件(在挂在后的文件系统中安装,指令:apt install xxx)

所需软件如下:

Make,gcc,device-tree-compiler,rsyslog,net-tool,ssh,language-pack-en-base, kmod,nano,xorg等

7: 添加用户:

Passwd root

Adduser cjqzynq

为用户添加权限:打开/etc/sudoers

8: 修改终端tty打印(很重要)

操作如下:如果没搞对,会出现以下问题:

/bin/sh : cannot accese tty turn off ....

如果修改的不对会有:

解决办法:

Tty需要根据板卡设置的串口进行设置,操作如下:ttyPS0是kernel和uboot,设备树中配置开启的终端输出串口

9 :退出根文件系统制作:

Exit

运行卸载:

Source ./myumount.sh

使用tar打包ubuntu_rootfs/

然后烧录到ddr,再用ext4write,写进mmc,在进去mmc做解压,需要解压到mmcblk0p1

不能有额外多的路径:正确如下:

前期需要uboot和kernel都能识别到mmc,然后使用randisk进去系统,针对mmc做格式化和分区:使用Fdisk指令和mke2fs mmcblk0

10 :启动系统(同样使用ext4write将ddr中的uimage.dtb放进mmc中)

然后就叫可以使用cmd指令和args从mmc中引导起来

bash 复制代码
setenv bootargs  "console=ttyPS0,115200 root=/dev/mmcblk0p1 rootfstype=ext4 rw rootwait "

setenv bootcmd "echo zIamge is loading ... ... && ext4load mmc 0:1 0x2000000 zImage && echo zIamge is loading ... ... && ext4load mmc 0:1 0x6a00000 system-top.dtb && echo zIamge is loading ... ... && bootz 0x2000000 - 0x6a00000"

参考链接:

搭建最小ubuntu20.04系统_ubuntu20.04最小化安装_代码撸起的博客-CSDN博客

基于ubuntu-base进行根文件系统的修改与打包_根文件系统打包_里先森的博客-CSDN博客

相关推荐
Cachel wood17 分钟前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
Youkiup25 分钟前
【linux 常用命令】
linux·运维·服务器
qq_2975046129 分钟前
【解决】Linux更新系统内核后Nvidia-smi has failed...
linux·运维·服务器
weixin_4373982142 分钟前
Linux扩展——shell编程
linux·运维·服务器·bash
小燚~44 分钟前
ubuntu开机进入initramfs状态
linux·运维·ubuntu
小林熬夜学编程1 小时前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
炫彩@之星1 小时前
Windows和Linux安全配置和加固
linux·windows·安全·系统安全配置和加固
hhhhhhh_hhhhhh_1 小时前
ubuntu18.04连接不上网络问题
linux·运维·ubuntu
冷心笑看丽美人1 小时前
探秘 DNS 服务器:揭开域名解析的神秘面纱
linux·运维·服务器·dns
冬天vs不冷2 小时前
Linux用户与权限管理详解
linux·运维·chrome