前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【RK3399】RK3399开发板基础配置

【RK3399】RK3399开发板基础配置

作者头像
嵌入式与Linux那些事
发布2022-12-01 13:46:35
8700
发布2022-12-01 13:46:35
举报
文章被收录于专栏:嵌入式与Linux那些事

最近在小黄鱼入手了一个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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式与Linux那些事 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ubuntu18.04配置
    • 安装nfs-kernel-server
      • 创建共享目录
        • 配置共享目录访问权限
          • 重启服务
            • 本地测试
            • FireFly-RK3399配置
              • 连接WIFI
                • 更换源
                  • 安装NFS服务
                    • 创建共享目录
                      • 挂载
                        • 编译
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档