Ubuntu制作Arm_Ubuntu18.04根文件系统

xx主机环境:Ubuntu18.04.5

根文件系统Arm_Ubuntu18.04

1.获取Arm_Ubuntu18.04源码

        链接:

http://cdimage.ubuntu.com/ubuntu-base/releases/

下载完了移植到Ubuntu主机

2.解压下载的Arm_Ubuntu18.04文件

        

mkdir rootfs
tar zxvf ubuntu-base-18.04.5-base-arm64.tar.gz -C rootfs

3. 安装qemu

sudo apt-get install qemu-user-static
#32位根文件系统复制这一行,这个我没试过,不包过
sudo cp /usr/bin/qemu-arm-static ~/rootfs/usr/bash/
#64位用这个,这个亲测好用
sudo cp /usr/bin/qemu-aarch64-static ~/rootfs/usr/bash/

4. 配置根文件系统DNS以及软件源

直接复制主机DNS配置:

sudo cp /etc/resolv.conf ~/rootfs/etc/

修改软件源,可以略过,就是之后下载更新的时候会慢一点:

vim ~/rootfs/etc/apt/sources.list

把中科大的软件源直接添加到最后

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe

5. 创建挂载脚本,从这里开始就可以切换到创建的根文件系统rootfs里进行了

创建一个挂载脚本文件mount.sh

cd ~/rootfs
vim mount.sh

复制以下内容到mount.sh

#!/bin/bash
echo "MOUNTING"
sudo mount -t proc /proc ~/rootfs/proc
sudo mount -t sysfs /sys ~/rootfs/sys
sudo mount -o bind /dev ~/rootfs/dev
sudo mount -o bind /dev/pts ~/rootfs/dev/pts
sudo chroot ~/rootfs

 创建卸载脚本文件unmount.sh

vim unmount.sh

 添加内容:

#!/bin/bash
echo "UNMOUNTING"
sudo umount ~/rootfs/proc
sudo umount ~/rootfs/sys
sudo umount ~/rootfs/dev
sudo umount ~/rootfs/dev/pts

给予可执行权限:

chmod 777 mount.sh unmount.sh

执行挂载脚本,在执行这一步报错的话检查一下qemu的文件有没有正确安装复制,不行就把俩文件都搞过去,我执行完这一步已经可以进入到跟文件系统了:

./mount.sh -m rootfs/

 执行卸载脚本文件

./unmount.sh -u rootfs/

6.更新根文件系统以及安装软件

apt-get update

更新根文件系统的时候如果报这个错就更改一下根文件系统下tmp文件的权限,再次更新就不会报错:

chmod 777 /tmp

然后就可以安装一些自己需要用到的软件了

7.制作根文件系统镜像文件用来一直到sd卡,这里切换到”~/“目录执行

mkdir tmp
dd if=/dev/zero of=rootfs-ubuntu.img bs=1M count=0 seek=4000
mkfs.ext4 rootfs-ubuntu.img
sudo mount rootfs-ubuntu.img tmp/
sudo cp -rfp rootfs/* tmp/
sudo umount tmp
e2fsck -p -f rootfs-ubuntu.img
resize2fs -M rootfs-ubuntu.img

在这之后生成的rootfs-ubuntu.img文件就可以移植到sd卡rootfs分区作为开发板的根文件系统了

参考:制作ubuntu18.04根文件系统_arm ubuntu文件系统_一日风的博客-CSDN博客

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值