前言

  • 硬件:RTSS-Z506 V2.0(EMMC 版) Nano 飞云智盒,腾达 U9 无线网卡
  • 软件:Ubuntu 18.04/20.04
  • 我的这款盒子只能刷 Ubuntu 18.04,大家应该提前咨询商家

下载系统软件包

  • 可以找自己购买的商家获取软件包
  • BSP 支持包:Realtimes_L4T_3243_nano_v1.5.tar.gz
  • Linux Driver Package:Tegra210_Linux_R32.4.3_aarch64.tbz2
  • 3243_nano_6001_2路spi 改为8路GPIO:Realtimes_L4T_3243_nano_spitogpio_v1.3.tar
  • Root File System:Tegra_Linux_Sample-Root-Filesystem_R32.4.3_aarch64.tbz2

烧录环境搭建

  • 准备一台 x64 的 Ubuntu 主机,我这里的是 Ubuntu20.04的系统。
  • 将上面下载的软件包拷贝至 x64 主机的同一目录下
  • 解压 Linux Driver Package,生成文件夹目录 Linux_for_Tegra:
    tar -vxf Tegra210_Linux_R32.4.3_aarch64.tbz2
    
  • 设置根文件系统:
    • 进入 Linux Driver Package 的根文件系统目录:
      cd Linux_for_Tegra/rootfs
      
    • 解压 Root File System 运行:
      tar -jxpf Tegra_Linux_Sample-Root-Filesystem_R32.4.3_aarch64.tbz2
      
  • 安装 BSP 支持包:
    • Realtimes_L4T_3243_nano_v1.5.tar.gz 包解压到与 Linux_for_Tegra 文件夹同级目录下面, 使用命令:
      tar -xvf Realtimes_L4T_3243_nano_v1.5.tar.gz
      
    • 进入到 Realtimes-L4T 文件夹,运行(安装成功,会有 success 提示!):
      sudo ./install.sh
      

系统烧录

  • 在这一步中,使用 micro-usb 连接 x64 主机和 nano 主机,进行系统烧录。
  • nano 进入 recovery 模式:
    • 首先,使用 micro-usb 连接 x64 主机和 nano 主机;
    • 其次,使用一根杜邦线短接 1 和 9 号管脚,如下图所示(使用光照可以发现里面有写很小的数字1~9):
    • 接着,给 nano 盒子通电;
    • 最后,拔掉杜邦线。在 x64 主机上使用 lsusb 查看是否存在 NVIDIA Corp,若存在,则表示已经进入 recovery 状态。
  • 参考 BSP 驱动包 Realtimes_L4T_3243_nano_v1.5 内的 readme.txt,查看 model 参数,我这里的是 rtso6002-emmc,在 pc 端 Linux_for_Tegra 目录下执行以下命令进行系统烧录:
    sudo ./flash.sh rtso6002-emmc mmcblk0p1
    
  • 等待烧录完成(会提示 sucess ):
      ![](https://guyueju.oss-cn-beijing.aliyuncs.com/Uploads/Editor/202304/20230408_55435.png)
    
  • 再次使用 lsusb 查看,会显示如下,后面多了一些信息:
  • 烧录完成后开机需要系统初始化,包括用户创建、语言选择、时间配置等。

扩容

  • 安装系统只有 14G,硬盘还有 100 多G的剩余空间,需要执行以下操作才能利用起来。
  • 检查 EMMC 卡设备名称:
    sudo fdisk -l
    
  • 创建一个新的 GPT:
    sudo parted /dev/mmcblk1 mklabel gpt
    
  • 添加分区,准备分区大小为 115GB:
    sudo parted /dev/mmcblk1 mkpart primary 0GB 115GB
    
  • 查看 mmcblk1 新增的一个分区:
    sudo fdisk -l
    # mmcblk1p1
    
  • 格式化分区为 ext4 格式:
    sudo mkfs.ext4 /dev/mmcblk1p1
    
  • 查看分区的 PARTUUID 值:
    sudo blkid /dev/mmcblk1p1
    # /dev/mmcblk1p1: UUID="ce9b47d1-5099-4826-9b1e-5a11699ef734" TYPE="ext4"
    PARTLABEL="primary" PARTUUID="149f621a-343f-4685-b228-f1e87e245adc"
    
  • 保存 PARTUUID 值:
  • 拷贝根文件系统到 eMMC 分区上:
    sudo dd if=/dev/mmcblk0p1 of=/dev/mmcblk1p1 bs=1M
    
  • 修复分区:
    sudo fsck /dev/mmcblk1p1
    
  • 在 x64 主机上切换到烧录环境 Linux_for_Tegra 目录,向 l4t-rootfs-uuid.txt 写入 PARTUUID 的值:

这里我写入了,但是刷机后机器启动失败,估计是 flash.sh 读取参数时出现问题,所以我直接将 PARTUUID 的值写在 flash.sh 的变量内

sudo su
echo ‘149f621a-343f-4685-b228-f1e87e245adc’ > bootloader/l4t-rootfs-uuid.txt

  • 在 x64 主机上,在 nano 进入 recovery 模式后,执行:
    sudo ./flash.sh rtso6002-emmc external
    
  • 查看是否从 EMMC 卡中启动系统:
    df -h
    
  • mmcblk1p1 显示存储大小不是分区的大小,执行以下命令调整大小:
    sudo resize2fs /dev/mmcblk1p1
    
  • 最后效果如下:

网卡驱动

  • 盒子内本身没有 Wi-Fi 模块,这里我使用的是 tenda U9 无线网卡,在官网上没有 Linux 驱动。
  • 下载代码:
    ​mkdir -p ~/build
    cd ~/build
    git clone https://github.com/brektrou/rtl8821CU.git
    
  • 编译安装:
    cd rtl8821CU
    make -j4
    sudo make install
    
  • 检查安装后的驱动:
    ls /lib/modules/$(uname -r)/kernel/drivers/net/wireless/realtek/rtl8821cu
    
  • 执行以生效:
    sudo usb_modeswitch -KW -v 0bda -p 1a2b
    
  • 参考链接:ubuntu-18.04 tenda U9安装wifi驱动_ubuntu wifi驱动