在 RZBoard V2L 上安装 Ubuntu
在RZBOARD V2L(由Avnet制造)上安装Ubuntu base 22.04LTS。
启动驱动器
/dev/mmcblk0已被分配给mSD或eMMC。内置的mSD插槽和eMMC是互斥使用的,似乎不能同时使用。
根据Avnet文档,写着类似如下内容。
3.9 存储
注意:由于SD卡和eMMC闪存共享相同的硬件接口。因此,如果检测到SD卡,则系统从SD卡启动;如果未检测到SD卡,则从eMMC启动,无法同时使用SD卡和eMMC。
2.2 启动RZBoard
RzBoard支持从eMMC或SD卡启动Linux。
a) 从eMMC启动u-boot和Linux系统镜像
b) 从QSPI闪存启动u-boot,从SD卡启动Linux系统镜像
然后,从电气上讲,我认为SD卡槽为空时BOOT0信号为1,插入后为0。
出货时写入引导装载程序。
如果引导加载程序被更改了,您可以获取出货时的ROM(RZBoard_dashboard_eMMC.zip),并使用其中包含的flash_bootloader.bat将uboot写入QSPI闪存。
2.1.4 重新刷写引导程序固件的步骤
https://avnet.me/RZBoard_emmc
运行flash_bootloader.bat命令时,会提示选择写入目标,请选择QSPI。
在mSD卡上构建rootFS。
准备一个已经写入出货时的Linux镜像(avnet-core-image-rzboard-20221213083153.rootfs.wic)的mSD卡。建议准备一个容量约为32GBytes的mSD。mSD卡上应该含有/dev/mmcblk0p1(/boot, 100MBytes)和/dev/mmcblk0p2 (poky, 3GBytes),其余空间应该是未使用的。
在mSD卡的未使用空间上创建Ubuntu基础的root文件系统。
使用此mSD卡启动RZBoard V2L。
使用出厂时的Linux镜像(poky)启动/dev/mmcblk0p2,并使用root登录。
一旦Linux(poky)启动,请首先确保网络可达且能正常解析名称。(以下操作需要能够连接到Ubuntu存储库的环境。)
通过chroot并伪装路径,使用apt命令来进行环境搭建。
# cd /lib/modules/5.10.83-cip1-g51ea567d6d/
/lib/modules/5.10.83-cip1-g51ea567d6d# depmod -a
/lib/modules/5.10.83-cip1-g51ea567d6d# cd
# export TZ=JST-9
# date -s "2023/5/1 12:34:56"
Thu May 1 12:34:56 JST 2023
# mount /dev/mmcblk0p3 /mnt
# mount -t proc none /mnt/proc
# mount -t sysfs none /mnt/sys
# mount -t devtmpfs none /mnt/dev
# chroot /mnt /bin/bash
# echo nameserver 8.8.8.8 >/etc/resolv.conf
# apt update
# apt install -y apt-utils perl-modules ubuntu-standard
# apt install -ynano vim net-tools ssh sudo tzdata rsyslog udev iputils-ping
# apt full-upgrade
-
- 将当前目录更改为 /lib/modules/,并执行 depmod -a 命令。
-
- 将系统时间设置为正确的当前日期和时间。(为了使 apt 包数据库的日期判定正常工作)
-
- 挂载 Ubuntu base 的 rootFS。
-
- 对 Ubuntu base 的 / 进行 chroot。(如果执行 chroot 命令返回错误,则意味着在此之前的准备工作中存在错误)
-
- 临时设置DNS服务器并更新包数据库。(以连接到 Ubuntu 软件仓库)
-
- 安装必要的命令等。
- 应该有 Ubuntu 18 LTS 的更新,所以进行升级。
随后将进行网络设置的初始配置。
# cd /etc/systemd/network
/etc/systemd/network# ls
/etc/systemd/network# nano 01-eth0.network
/etc/systemd/network# cat 01-eth0.network
[Match]
Name=eth0
[Network]
DHCP=ipv4
/etc/systemd/network# cd /etc
/etc# nano shadow
/etc# cat shadow
root::187655:0:99999:7:::
…
/etc# cd /etc/ssh/
/etc/ssh# nano sshd_config
/etc/ssh# cat sshd_config
…
permitRootlogin yes
…
/etc/ssh# cd
-
- 进行DHCP客户端的设置。
- 进行使用root帐户进行SSH连接的设置。
进行systemd-networkd服务的初始设置。
# systemctl enable systemd-networkd
# cp /usr/share/systemd/tmp.mount /etc/systemd/system/tmp.mount
# systemctl enable tmp.mount
# systemctl enable systemd-resolved
# rm /etc/resolv.conf -f
# ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
退出chroot环境并重新启动。
重启后,在2秒内按下键盘,进入U-Boot菜单。
# ^D
exit
# reboot
…
U-Boot 2021.01 (Jun 1 2021 - 00:36:02 +0000)
…
Hit any key to stop autoboot: 0
将rootFS切换到/dev/mmcblk0p3并启动。
=> setenv bootargs 'rw rootwait earlycon root=/dev/mmcblk0p3'
=> setenv mmcbootargs 'setenv bootargs rw rootwait earlycon root=/dev/mmcblk0p3'
=> saveenv
=> run bootcmd
# apt update
# apt install update-manager-core
# apt full-upgrade
# do-release-upgrade
# apt update
# apt full-upgrade
# do-release-upgrade