一、环境
pc 端ubuntu18.04
xilinx xczu3eg 平台
二、目标
开发板跑ubuntu base
三、过程
1:安装 qemu 工具
需要在 PC 的 Ubuntu 上安装 qemu 工具,命令如下:
sudo apt-get install qemu-user-static
2、挂载sd卡
点击Ubuntu 中ROOTFS,能看到里面的文件,挂载成功
3、拷贝文件
将刚刚安装的 qemu-user-static 拷贝到刚刚解压出来的 ubuntu base 目录中,也就是
ubuntu_rootfs/usr/bin 目录下,命令如下:
sudo cp /usr/bin/qemu-arm-static /media/jcl/ROOTFS/usr/bin/
sudo cp /usr/bin/qemu-aarch64-static /media/jcl/ROOTFS/usr/bin/
4:配置
sudo cp -av /run/systemd/resolve/stub-resolv.conf ./ubuntu_rootfs/etc/resolv.conf
5:在主机挂载并配置根文件系统
(1)编写一个mount.sh脚本
#!/bin/bash
echo "MOUNTING"
sudo mount --bind /proc /media/jcl/ROOTFS/proc
sudo mount --bind /tmp /media/jcl/ROOTFS/tmp
sudo mount --bind /sys /media/jcl/ROOTFS/sys
sudo mount --bind /dev /media/jcl/ROOTFS/dev
sudo mount --bind /home /media/jcl/ROOTFS/home
sudo mount --bind /dev/pts /media/jcl/ROOTFS/dev/pts
sudo chroot /media/jcl/ROOTFS/
(2)编写一个umount.sh脚本
#!/bin/bash
sudo umount ./media/jcl/ROOTFS/proc
sudo umount ./media/jcl/ROOTFS/tmp
sudo umount ./media/jcl/ROOTFS/sys
sudo umount ./media/jcl/ROOTFS/dev
sudo umount ./media/jcl/ROOTFS/home
sudo umount ./media/jcl/ROOTFS/dev/pts
sudo umount /dev /medai/jcl/ROOTFS/dev
最后给予 mount.sh 和 umount.sh 这两个 shell 脚本可执行权限,命令如下:
sudo chmod 777 mount.sh umount.sh
6:执行
./mount
安装常用的命令和软件
apt update
apt install -y sudo vim kmod net-tools ethtool ifupdown language-pack-en-base rsyslog htop
apt-get install vim git openssh-server sudo net-tools iputils-ping wireless-tools udev
apt-get install htop rsyslog network-manager ifupdown ethtool
apt-get install florence
apt-get install ubuntu-session xubuntu-desktop update-alternatives --config x-session-manager dpkg-reconfigure lightdm
echo auto eth0 > etc/network/interfaces.d/eth0
echo iface eth0 inet dhcp >> etc/network/interfaces.d/eth0
echo auto wlan0 > etc/network/interfaces.d/wlan0
echo allow-hotplug wlan0 > etc/network/interfaces.d/wlan0
echo iface wlan0 inet dhcp >> etc/network/interfaces.d/wlan0
vim /ect/hostname
useradd -s '/bin/bash' -m -G adm,sudo username
passwd username
passwd root
7、超级权
vi /etc/sudoers
root ALL=(ALL:ALL) ALL
username ALL=(ALL:ALL) ALL
使用 wq! 退出
touch /var/log/rsyslog
chown syslog:adm /var/log/rsyslog
chmod 666 /var/log/rsyslog
systemctl unmask rsyslog
systemctl enable rsyslog
echo “xxx” > /etc/hostname
echo “127.0.0.1 localhost” > /etc/hosts
echo “127.0.1.1 xxx” >> /etc/hosts
8、串口终端和网络dhcp
ln -s /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttyPS0.service
echo "auto eth0" > /etc/network/interfaces
echo "iface eth0 inet dhcp" >> /etc/network/interfaces
9、退出
exit
./umount.sh
10、启动后,连接网络
ifconfig -a
sudo vi /etc/network/interfaces
更改:
auto enx00e04c34ee4b
iface enx00e04c34ee4b inet dhcp
保存后。
sudo ifup enx00e04c34ee4b
(https://highlevel-synthesis.com/2019/12/15/running-ubuntu-on-ultra96v2-using-petalinux-2019-2-with-networking-and-linux-header/)
11、wifi设置
a) create a text file with the name of wpa_supplicant.conf and the following lines. Don’t forget to insert you wifi ssid and password in the file.
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1
network={
ssid="your wifi ssid"
psk="your wifi pssword"
}
b) Create a textfile called wifi.sh and copy the following lines
cp -rf ./wpa_supplicant.conf /etc/.
modprobe wilc-sdio
ifconfig wlan0 up
wpa_supplicant -dd -Dnl80211 -iwlan0 -c /etc/wpa_supplicant.conf -B
dhcpcd -i wlan0
Note: if needed inatall dhcpd package.
chmod uog+x wifi.sh
sudo ./wifi.sh