在 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

执行写入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文件系统。
image.png

使用此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
    1. 将当前目录更改为 /lib/modules/,并执行 depmod -a 命令。

 

    1. 将系统时间设置为正确的当前日期和时间。(为了使 apt 包数据库的日期判定正常工作)

 

    1. 挂载 Ubuntu base 的 rootFS。

 

    1. 对 Ubuntu base 的 / 进行 chroot。(如果执行 chroot 命令返回错误,则意味着在此之前的准备工作中存在错误)

 

    1. 临时设置DNS服务器并更新包数据库。(以连接到 Ubuntu 软件仓库)

 

    1. 安装必要的命令等。

 

    应该有 Ubuntu 18 LTS 的更新,所以进行升级。
image.png
随后将进行网络设置的初始配置。
# 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
    1. 进行DHCP客户端的设置。

 

    进行使用root帐户进行SSH连接的设置。
image.png
进行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
image.png
image.png
# apt update
# apt install update-manager-core
# apt full-upgrade
# do-release-upgrade
image.png
# apt update
# apt full-upgrade
# do-release-upgrade
image.png

暂且到此为止。

广告
将在 10 秒后关闭
bannerAds