【RK3399】RK3399开发板基础配置

2022-12-01 13:46:35 浏览数 (1)

最近在小黄鱼入手了一个RK3399的开发板,RK的芯片我也是第一次使用。FireFly配套提供了完善的教程,可以在他们的WIKI上找到。上面有的内容就不在本文叙述了,大家可以参考教程https://wiki.t-firefly.com/zh_CN/Firefly-RK3399/linux_compile_gpt.html

这篇文章主要如何对板子做一些基础的配置。

开发环境:

  • FireFly-RK3399
  • VMware Workstation 16
  • ubuntu18.04

ubuntu18.04配置

安装nfs-kernel-server

代码语言:javascript复制
$ sudo apt install nfs-kernel-server

创建共享目录

代码语言:javascript复制
$ sudo mkdir /home/zhongyi/mnt
$ sudo chmod 777 /home/zhongyi/mnt

配置共享目录访问权限

打开/etc/exports文件:

代码语言:javascript复制
$ sudo vim /etc/exports

在文件内容的最后一行添加以下:

代码语言:javascript复制
/home/zhongyi/mnt *(rw,sync,no_subtree_check)

重启服务

代码语言:javascript复制
$ sudo exportfs -a
$ sudo systemctl restart nfs-kernel-server

本地测试

新建一个临时目录并挂接 nfs:

代码语言:javascript复制
$ mkdir ~/project/mnt
$ sudo mount -t nfs 127.0.0.1:/home/zhongyi/mnt ~/project/mnt/

进入临时目录新建一个文件:

代码语言:javascript复制
$ cd ~/project/mnt/
$ touch test.txt

进入 nfs 目录进行查看:

代码语言:javascript复制
$ cd /mnt/nfs/
$ ls
test.txt

看到test.txt文件说明 NFS 服务端已搭建成功!

取消挂接:

代码语言:javascript复制
$ sudo umount ~/project/mnt

FireFly-RK3399配置

连接WIFI

FireFly-RK3399自带的kernel默认是没有开启NFS服务的。因此,想要挂载到虚拟机上,必须在开发板上安装NFS服务。而FireFly-RK3399默认是可以直接连接无线网络的,因此,就省去了配置PC网卡的麻烦。

FireFly-RK3399连接无线网络的方法可以参考这个文章 https://www.ebaina.com/articles/140000013427。

更换源

FireFly-RK3399 自带的软件源安装太慢了,因此要更换掉。

代码语言:javascript复制
sudo cp /etc/apt/sources.list /etc/apt/sources.list_back
sudo vim /etc/apt/sources.list

将以下内容添加到源列表中。

代码语言:javascript复制
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-proposed main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe

安装NFS服务

代码语言:javascript复制
sudo apt-get update
sudo apt-get upgrade
/* 执行安装nfs组件 */
sudo apt-get install nfs-common

安装完成后,执行cat /proc/filesystems查看nfs组件是否安装成功。

代码语言:javascript复制
/* 查看nfs是否安装 */
firefly@firefly:~$ cat /proc/filesystems
nodev   sysfs
nodev   rootfs
nodev   ramfs
nodev   bdev
nodev   proc
nodev   cpuset
nodev   cgroup
nodev   cgroup2
nodev   tmpfs
nodev   devtmpfs
nodev   configfs
nodev   debugfs
nodev   tracefs
nodev   securityfs
nodev   sockfs
nodev   pipefs
nodev   rpc_pipefs
nodev   devpts
        ext3
        ext2
        ext4
        squashfs
        vfat
        iso9660
nodev   nfs
nodev   nfs4
        ntfs

创建共享目录

代码语言:javascript复制
$ mkdir ~/nfs

挂载

代码语言:javascript复制
mount -t nfs -o nolock 192.168.137.100:/home/zhongyi/mnt /root/mnt

编译

将生成的配置文件备份一份

代码语言:javascript复制
cp ./rockchip_linux_myconfig.config ./arch/arm64/configs/rockchip_linux_myconfig.config
make ARCH=arm64 rockchip_linux_myconfig.config;make rk3399-evb-ind-lpddr4-linux.img -j10

确认编译配置正确

代码语言:javascript复制
➜  kernel git:(firefly) ✗ grep "NFS" ./.config
# CONFIG_USB_FUNCTIONFS is not set
CONFIG_KERNFS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V2=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFS_SWAP=y
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_PNFS_FILE_LAYOUT=y
CONFIG_PNFS_FLEXFILE_LAYOUT=y
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
CONFIG_NFS_V4_1_MIGRATION=y
CONFIG_ROOT_NFS=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
# CONFIG_NFSD is not set
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y

确认编译时间和配置

代码语言:javascript复制
➜  kernel git:(firefly) ✗ ls -al | grep boot.img
-rw-rw-r--   1 zhongyi zhongyi  29837312 Sep 24 22:20 boot.img
-rw-rw-r--   1 zhongyi zhongyi  19324928 Sep 24 22:20 zboot.img

编译打包

生成的固件在/home/zhongyi/code/rk3399_linux_release_v2.5.1_20210301/rockdev/pack/FIREFLY-RK3399_Ubuntu-r21062_v2.5.1b_220924.img

代码语言:javascript复制
cd /home/zhongyi/code/rk3399_linux_release_v2.5.1_20210301/rockdev/pack/  
sudo upgrade_tool uf FIREFLY-RK3399_Ubuntu-r21062_v2.5.1b_220924.img 

具体编译打包可以参考:https://wiki.t-firefly.com/zh_CN/Firefly-RK3399/linux_compile_gpt.html#zhun-bei-gong-zuo

系统升级参考:https://wiki.t-firefly.com/zh_CN/Firefly-RK3399/03-upgrade_firmware.html

0 人点赞