当前位置:   article > 正文

嵌入式ARM64 移植ubuntu系统_ubuntu desktop arm64

ubuntu desktop arm64

平台:orangepi4 rockchip rk3399 LPDDR4 4G eMMC 16G

系统:ubuntu 20.04

下载ubuntu-base

ubuntu-base是一个基础的Ubuntu系统,可以理解为最小的Ubuntu系统,本文适用所有arm/aarch64,这里我使用的是ubuntu2020.04版本

wget http://cdimage.ubuntu.com/ubuntu-base/releases/20.04/release/ubuntu-base-20.04.3-base-arm64.tar.gz

解压:

  1. mkdir ubuntu2020.04
  2. sudo tar -xzvf http://cdimage.ubuntu.com/ubuntu-base/releases/20.04/release/ubuntu-base-20.04.3-base-arm64.tar.gz -C ubuntu2020.04/

为系统增加dns域名地址,否则在apt-update的时候可能会报错

  1. sudo vi vi /etc/resolv.conf
  2. nameserver 8.8.8.8
  3. nameserver 192.168.1.1

配置qemu

在进行制作文件系统镜像之前需要先对系统安装一些必要的工具,这时候需要用到qemu虚拟机工具,通过虚拟机工具挂载到chroot。chroot命令用来在指定的根目录下运行指令。chroot,即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录结构都是以/,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为/位置。

安装qemu

sudo apt-get install qemu-user-static

通过以下脚本挂载

  1. #!/bin/bash
  2. mnt ()
  3. {
  4. echo "MOUNTING"
  5. sudo mount -t proc /proc ${2}proc
  6. sudo mount -t sysfs /sys ${2}sys
  7. sudo mount -o bind /dev ${2}dev
  8. sudo mount -o bind /dev/pts ${2}dev/pts
  9. sudo chroot ${2}
  10. }
  11. umnt ()
  12. {
  13. echo "UNMOUNTING"
  14. sudo umount ${2}proc
  15. sudo umount ${2}sys
  16. sudo umount ${2}dev/pts
  17. sudo umount ${2}dev
  18. }
  19. if [ "$1" = "-m" ] && [ -n "$2" ];
  20. then
  21. mnt $1 $2
  22. echo "mnt -m pwd"
  23. elif [ "$1" = "-u" ] && [ -n "$2" ];
  24. then
  25. umnt $1 $2
  26. echo "mnt -u pwd"
  27. else
  28. echo ""
  29. echo "Either 1'st, 2'nd or bothparameters were missing"
  30. echo ""
  31. echo "1'st parameter can be one ofthese: -m(mount) OR -u(umount)"
  32. echo "2'nd parameter is the full pathof rootfs directory(with trailing '/')"
  33. echo ""
  34. echo "For example: ch-mount -m/media/sdcard/"
  35. echo ""
  36. echo 1st parameter : ${1}
  37. echo 2nd parameter : ${2}
  38. fi

执行挂载

  1. sudo sh ms.sh -m ubuntu2020.04
  2. MOUNTING
  3. root@work-B85M-D3V:/#

系统配置

安装必要工具

  1. apt-get update
  2. apt-get install python3 vim net-tools iputils-ping iproute2 isc-dhcp-client telnetd

可安装图形界面:

  1. apt-get install ubuntu-gnome-desktop
  2. apt-get install xubuntu-desktop

安装图形界面比较久,如果只是验证可不安装

设置密码

passwd root

根据需要修改/etc/fstab,/etc/fstab是用来存放文件系统的静态信息的文件,当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。

  1. # stock fstab - you probably want to override this with a machine specific one
  2. /dev/root / auto defaults 1 1
  3. proc /proc proc defaults 0 0
  4. devpts /dev/pts devpts mode=0620,gid=5 0 0
  5. tmpfs /run tmpfs mode=0755,nodev,nosuid,strictatime 0 0
  6. tmpfs /var/volatile tmpfs defaults 0 0
  7. # uncomment this if your device has a SD/MMC/Transflash slot
  8. dev/mmcblk0p3 /media/card ext4 defaults 0 0

退出绑定,退出时一定要执行,否则会导致系统出错

  1. root@work-B85M-D3V:/# exit
  2. sudo sh ms.sh -u ubuntu20.04

制作镜像

使用以下脚本

  1. #!/bin/bash
  2. rm -rf rootfs.ext3
  3. rm -rf fs
  4. dd if=/dev/zero of=./rootfs.ext3 bs=1M count=$2
  5. mkfs.ext3 rootfs.ext3
  6. mkdir fs
  7. mount -o loop rootfs.ext3 ./fs
  8. cp -rf ./$1/* ./fs
  9. umount ./fs
  10. gzip --best -c rootfs.ext3 > rootfs.img.gz

我们制作一个ext3文件系统的镜像

sudo sh mkfs.sh ubuntu2020.04 4096

可根据生成的文件夹大小来调整文件系统的大小,生成成功后得到rootfs.ext3文件,将这个文件系统下载到开发板开机:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/294361
推荐阅读
相关标签
  

闽ICP备14008679号