发布时间:2022-08-19 11:29
在开发过程中,难免会遇到需要安装Ubuntu环境的情况,本次教程适用于所有arm板子,只是其中一些细节需要稍微替换注意一下。
本次下载的是不带桌面的Ubuntu,需要桌面的也可以下载此链接,然后用指令安装桌面即可,很简单,后面会提到
ARM64 Ubuntu 18.04.5下载地址
首先,需要在PC上安装一个Ubuntu,我这里用的是Ubuntu18.04,在Ubuntu中安装QEMU
sudo apt-get install qemu-user-static
我这里用的是共享文件夹拷贝,你们习惯什么就用什么
sudo cp -ra /mnt/hfs/ubuntu18_base.tar ./rootfs
注意:一定要加sudo解压,否则有些文件没权限,后续移植会报错
sudo tar -xvf ubuntu18_base.tar
该文件是用来启动虚拟机的
vi ch-mount.sh
创建好后输入下列内容:
#!/bin/bash
echo "MOUNTING"
sudo mount -t proc /proc ${1}proc
sudo mount -t sysfs /sys ${1}sys
sudo mount -o bind /dev/ ${1}dev
sudo mount -o bind /dev/pts ${1}dev/pts
sudo chroot ${1}
该文件是用来推出虚拟机的
vi umount.sh
创建好后输入下列内容:
#!/bin/bash
echo "UNMOUNTING"
sudo umount ${1}proc
sudo umount ${1}sys
sudo umount ${1}dev/pts
sudo umount ${1}dev
chmod a+x ch-mount.sh
chmod a+x umount.sh
注意,这里是配置arm Ubuntu的,不要把PC的给改了
sudo sed -i 's|ports.ubuntu.com|mirrors.ustc.edu.cn|g' ./etc/apt/sources.list
sudo cp /etc/resolv.conf ./etc/resolv.conf
sudo cp /usr/bin/qemu-aarch64-static ./usr/bin
sudo sh ch-mount.sh rootfs
进入后就会长这样
MOUNTING
root@ubuntu:/#
这一步可以选择性做,如果不可以apt update 的话在做
echo "guo" > /etc/hostname
echo "127.0.0.1 localhost" > /etc/hosts
echo "127.0.0.1 guo" >> /etc/hosts
常用软件安装
apt update apt install language-pack-en-base sudo ssh net-tools network-manager iputils-ping rsyslog bash-completion htop resolvconf dialog vim nano v4l-utils alsa-utils git gcc less resolvconf autoconf autopoint libtool bison flex gtk-doc-tools glib-2.0 libglib2.0-dev libpango1.0-dev libatk1.0-dev kmod pciutils -y
如果在apt update的时候出现Couldn’t create temporary file(无法创建临时文件)的错误,将/tmp路径权限设为777之后重试即可
chmod 777 /tmp
apt update
apt install sudo
apt install language-pack-en-base
apt install vim
apt install ssh
apt install net-tools
apt install ethtool
apt install ifupdown
apt install iputils-ping
apt install rsyslog
apt install htop
apt install i2c-tools