Difference between revisions of "NanoPi R4S/zh"
(→Schematic, PCB CAD File) |
(updated by API) |
||
Line 1: | Line 1: | ||
[[NanoPi R4S|English]] | [[NanoPi R4S|English]] | ||
− | == | + | ==介绍== |
− | [[File:NanoPi_R4S- | + | [[File:NanoPi_R4S-01B.jpg|thumb|概览]] |
− | [[File:NanoPi_R4S- | + | [[File:NanoPi_R4S-A01.jpg|thumb|正面]]] |
− | + | [[File:NanoPi_R4S-B01.jpg|thumb|背面]] | |
− | [[File:NanoPi_R4S- | + | * NanoPi R4S(以下简称R4S)是友善电子团队最新推出的一款实现满速率双千兆的、完全开源的Iot应用神器。 |
− | + | * NanoPi R4S 使用RK3399 CPU,有两个千兆网口和两个USB3.0接口,最大4G DDR4内存,友善电子团队为NanoPi R4S专门移植了OpenWrt系统,支持Docker CE, 完全开源,用于企业物联网二次开发,个人定制NAS,家庭物联网网关等。 | |
− | * | + | |
− | == | + | ==NanoPi R4S资源特性== |
* SoC: Rockchip RK3399 | * SoC: Rockchip RK3399 | ||
** CPU: big.LITTLE,Dual-Core Cortex-A72(up to 2.0GHz) + Quad-Core Cortex-A53(up to 1.5GHz) | ** CPU: big.LITTLE,Dual-Core Cortex-A72(up to 2.0GHz) + Quad-Core Cortex-A53(up to 1.5GHz) | ||
Line 27: | Line 26: | ||
* others: | * others: | ||
** 2 Pin 1.27/1.25mm RTC battery input connector | ** 2 Pin 1.27/1.25mm RTC battery input connector | ||
− | ** one | + | ** one UserKey |
** one 5V Fan connector | ** one 5V Fan connector | ||
* Power supply: DC 5V/3A, via USB-C connector or Pin header | * Power supply: DC 5V/3A, via USB-C connector or Pin header | ||
* PCB: 8 Layer, 66 mm x 66 mm | * PCB: 8 Layer, 66 mm x 66 mm | ||
− | * | + | * Temperature measuring range: 0℃ to 80℃ |
− | == | + | ==接口布局和尺寸== |
− | === | + | ===接口布局=== |
[[File:NanoPi_R4S_Layout.jpg |thumb|600px|NanoPi R4S Layout]] | [[File:NanoPi_R4S_Layout.jpg |thumb|600px|NanoPi R4S Layout]] | ||
− | |||
* '''2x5-pin header''' | * '''2x5-pin header''' | ||
::{| class="wikitable" | ::{| class="wikitable" | ||
Line 83: | Line 81: | ||
::#Power Input : 5V/3A, via USB Type-C(USB PD Specification is not supported) or Pin1&Pin2 of the 2x5-pin header | ::#Power Input : 5V/3A, via USB Type-C(USB PD Specification is not supported) or Pin1&Pin2 of the 2x5-pin header | ||
− | == | + | ==快速入门== |
− | === | + | ===准备工作=== |
− | + | 要开启你的NanoPi R4S新玩具,请先准备好以下硬件 | |
− | * NanoPi | + | * NanoPi R4S主板 |
− | * | + | * MicroSD卡/TF卡: Class10或以上的 8GB SDHC卡 |
− | * | + | * 一个MicroUSB接口的外接电源,要求输出为5V/2A(可使用同规格的手机充电器) |
− | * | + | * 一台电脑,需要联网,建议使用Ubuntu 16.04 64位系统 |
− | === | + | ===安装系统=== |
− | ==== | + | ====下载系统固件==== |
− | + | 首先访问[http://download.friendlyarm.com/nanopir4s 下载地址]下载需要的固件文件(officail-ROMs目录)和烧写工具(tools目录):<br /> | |
::{| class="wikitable" | ::{| class="wikitable" | ||
|- | |- | ||
− | |colspan=2| | + | |colspan=2|固件文件: |
|- | |- | ||
− | |rk3399-sd-friendlycore-focal-4.19-arm64-YYYYMMDD.img.zip || | + | |rk3399-sd-friendlycore-focal-4.19-arm64-YYYYMMDD.img.zip || 基于UbuntuCore 20.04 和 Linux-4.19 Kernel |
|- | |- | ||
− | |rk3399-sd-friendlywrt-5.4-YYYYMMDD.img.zip || | + | |rk3399-sd-friendlywrt-5.4-YYYYMMDD.img.zip || 基于OpenWrt 和 Linux-5.4 Kernel |
|- | |- | ||
|colspan=2|Flashing Utility: | |colspan=2|Flashing Utility: | ||
|- | |- | ||
− | |win32diskimager.rar || Windows | + | |win32diskimager.rar || Windows 下的启动卡制作工具,在Linux下可使用dd命令代替 |
|- | |- | ||
|} | |} | ||
− | {{BurnOS-Allwinner|NanoPi-R4S}} | + | |
− | {{FriendlyWrt19|NanoPi-R4S}} | + | {{BurnOS-Allwinner/zh|NanoPi-R4S}} |
− | === | + | {{FriendlyWrt19/zh|NanoPi-R4S}} |
− | + | ===Compile u-boot,kernel or friendlywrt=== | |
+ | * Refer to: | ||
+ | ** [https://github.com/friendlyarm/sd-fuse_rk3399 sd-fuse_rk3399] | ||
+ | ** [[How to Build FriendlyWrt]] | ||
+ | {{OfficialUbuntuCore/zh|NanoPi-R4S}} | ||
+ | ===串口调试=== | ||
+ | 用screen登入串口调试: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
screen /dev/ttyUSB0 1500000 8N1 | screen /dev/ttyUSB0 1500000 8N1 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ==如何编译系统== | |
− | == | + | ===编译 Openwrt/Friendlywrt === |
− | === | + | ====下载源代码==== |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
mkdir friendlywrt-rk3399 | mkdir friendlywrt-rk3399 | ||
Line 124: | Line 128: | ||
repo sync -c --no-clone-bundle | repo sync -c --no-clone-bundle | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | === | + | ====开始编译==== |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
./build.sh nanopi_r4s.mk | ./build.sh nanopi_r4s.mk | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | 会编译所有组件(包含u-boot, kernel 和 friendlywrt)并生成sd卡镜像文件。 | |
− | + | ===单独编译u-boot,kernel或friendlywrt=== | |
− | + | * 请参考以下链接: | |
− | == | + | |
− | * | + | |
** [https://github.com/friendlyarm/sd-fuse_rk3399/tree/kernel-5.4.y sd-fuse_rk3399] | ** [https://github.com/friendlyarm/sd-fuse_rk3399/tree/kernel-5.4.y sd-fuse_rk3399] | ||
+ | ** [[How to Build FriendlyWrt/zh]] | ||
+ | |||
+ | ==资源链接== | ||
+ | ===手册原理图等开发资料=== | ||
+ | * 原理图 | ||
+ | ** [https://wiki.friendlyarm.com/wiki/images/0/06/NanoPi-R4S-1GB-2008-Schematic.pdf NanoPi-R4S-1GB-2008-Schematic.pdf] [https://wiki.friendlyarm.com/wiki/images/c/c2/NanoPi-R4S-4GB-2008-Schematic.pdf NanoPi-R4S-4GB-2008-Schematic.pdf] | ||
− | + | * PCB尺寸图 | |
− | + | ** [https://wiki.friendlyarm.com/wiki/images/a/ab/NanoPi_R4S_1GB_2008_dxf.zip NanoPi_R4S_1GB_2008_dxf.zip] [https://wiki.friendlyarm.com/wiki/images/1/18/NanoPi_R4S_4GB_2008_dxf.zip NanoPi_R4S_1GB_2008_dxf.zip] | |
+ | ** RK3399芯片手册 [http://wiki.friendlyarm.com/wiki/images/d/d7/Rockchip_RK3328_Datasheet_V1.1-20170309.pdf Rockchip_RK3328_Datasheet.pdf] | ||
− | == | + | ==更新日志== |
− | + | 首次发布 | |
− | + |
Revision as of 05:50, 1 December 2020
Contents
- 1 介绍
- 2 NanoPi R4S资源特性
- 3 接口布局和尺寸
- 4 快速入门
- 5 FriendlyWrt的使用
- 5.1 FriendlyWrt简介
- 5.2 首次开机的初始化
- 5.3 帐户与密码
- 5.4 连接网络
- 5.5 登录FriendlyWrt
- 5.6 建议的安全性设置
- 5.7 安全的关机操作
- 5.8 安装软件包
- 5.9 FriendlyWrt的一些常见问题
- 5.10 让FriendlyWrt重新生成网络设置
- 5.11 禁用IPv6
- 5.12 配置用户按键的功能
- 5.13 使用USB2LCD查看IP和温度
- 5.14 PWM风扇的调节
- 5.15 如何使用USB WiFi
- 5.16 玩转Docker应用
- 5.17 挂载smbfs共享资源
- 5.18 使用sdk编译软件包
- 5.19 Compile u-boot,kernel or friendlywrt
- 6 FriendlyCore的使用
- 7 如何编译系统
- 8 资源链接
- 9 更新日志
1 介绍
]- NanoPi R4S(以下简称R4S)是友善电子团队最新推出的一款实现满速率双千兆的、完全开源的Iot应用神器。
- NanoPi R4S 使用RK3399 CPU,有两个千兆网口和两个USB3.0接口,最大4G DDR4内存,友善电子团队为NanoPi R4S专门移植了OpenWrt系统,支持Docker CE, 完全开源,用于企业物联网二次开发,个人定制NAS,家庭物联网网关等。
2 NanoPi R4S资源特性
- SoC: Rockchip RK3399
- CPU: big.LITTLE,Dual-Core Cortex-A72(up to 2.0GHz) + Quad-Core Cortex-A53(up to 1.5GHz)
- GPU: Mali-T864 GPU,supports OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11, and AFBC
- VPU: 4K VP9 and 4K 10bits H265/H264 60fps decoding, Dual VOP, etc
- PMU: RK808-D PMIC, cooperated with independent DC/DC, enabling DVFS, software power-down, RTC wake-up, system sleep mode
- RAM: 1GB DDR3/4GB LPDDR4
- Flash: no Onboard eMMC
- Ethernet: one Native Gigabit Ethernet, and one PCIe Gigabit Ethernet
- USB: two USB 3.0 Type-A ports
- Pin header extension interface
- 2x5-pin header: SPI x 1, I2C x 1
- 4-pin header: USB 2.0
- microSD Slot x 1
- Debug: one Debug UART, 3 Pin 2.54mm header, 3V level, 1500000bps
- LEDs: 1 x power LED and 3 x GPIO Controlled LED (SYS, LAN, WAN)
- others:
- 2 Pin 1.27/1.25mm RTC battery input connector
- one UserKey
- one 5V Fan connector
- Power supply: DC 5V/3A, via USB-C connector or Pin header
- PCB: 8 Layer, 66 mm x 66 mm
- Temperature measuring range: 0℃ to 80℃
3 接口布局和尺寸
3.1 接口布局
- 2x5-pin header
Pin# Assignment Pin# Assignment 1 VDD_5V 2 VDD_3.3V 3 VDD_5V 4 I2C3_SDA 5 GND 6 I2C3_SCL 7 SPI1_CLK 8 SPI1_MOSI 9 SPI1_CS 10 SPI1_MISO
- 4-pin header
1 2 3 4 VDD_5V USB_DM USB_DP GND
- Debug UART Pin Spec
- 3V level signals, 1500000bps
Pin# Assignment Description 1 GND 0V 2 UART2DBG_TX output 3 UART2DBG_RX intput
- USB Port
- Each USB 3.0 port has 2A overcurrent protection.
- RTC
- RTC backup current is 27uA.
- Connector P/N: Molex 53398-0271
- Notes
- Power Input : 5V/3A, via USB Type-C(USB PD Specification is not supported) or Pin1&Pin2 of the 2x5-pin header
4 快速入门
4.1 准备工作
要开启你的NanoPi R4S新玩具,请先准备好以下硬件
- NanoPi R4S主板
- MicroSD卡/TF卡: Class10或以上的 8GB SDHC卡
- 一个MicroUSB接口的外接电源,要求输出为5V/2A(可使用同规格的手机充电器)
- 一台电脑,需要联网,建议使用Ubuntu 16.04 64位系统
4.2 安装系统
4.2.1 下载系统固件
首先访问下载地址下载需要的固件文件(officail-ROMs目录)和烧写工具(tools目录):
固件文件: rk3399-sd-friendlycore-focal-4.19-arm64-YYYYMMDD.img.zip 基于UbuntuCore 20.04 和 Linux-4.19 Kernel rk3399-sd-friendlywrt-5.4-YYYYMMDD.img.zip 基于OpenWrt 和 Linux-5.4 Kernel Flashing Utility: win32diskimager.rar Windows 下的启动卡制作工具,在Linux下可使用dd命令代替
4.2.2 烧写Linux系统
4.2.2.1 烧写到TF卡
- FriendlyCore / FriendlyWrt 等系统都属于 Linux 系统,所以它们的烧写方法是一样。
- 将 Linux 系统固件和烧写工具 win32diskimager.rar 分别解压,在 Windows 下插入TF卡(限4G及以上的卡),以管理员身份运行烧写工具 win32diskimager,在烧写工具 win32diskimager 的界面上,选择你的TF卡盘符,选择Linux 系统固件,点击 Write 按钮烧写。
- 当制作完成TF卡后,拔出TF卡插入 BOOT 卡槽,上电启动(注意,这里需要5V/2A的供电),你可以看到STAT灯闪烁,这时你已经成功启动系统。;
5 FriendlyWrt的使用
5.1 FriendlyWrt简介
FriendlyWrt是友善电子基于OpenWrt定制的系统,完全开源,用于企业物联网二次开发,个人定制NAS等。
5.2 首次开机的初始化
首次上电开机,系统需要做以下一些初始化工作:
1)扩展根文件系统
2)初始化设置(会执行/root/setup.sh)
所以第一次开机需要等待片刻(约2~3分钟),再对FriendlyWrt进行设置,可以在openwrt网页上进入ttyd终端,当提示符显示为 root@FriendlyWrt 表示系统已经初始化完成。
root@FriendlyWrt
5.3 帐户与密码
默认的密码是password(某些版本是空密码),请设置或更改一个较安全的密码用于web登录与ssh登录,建议在将NanoPi-R4S连接到互联网之前完成此设置。
5.4 连接网络
用网线连接NanoPi-R4S的WAN口到你的主路由器,默认将从你的主路由器通过DHCP自动获取IP地址,请登入你的路由器后台查看并记住NanoPi-R4S的IP地址。
5.5 登录FriendlyWrt
将电脑连接到 NanoPi-R4S 的LAN口,如果电脑没有网口,可将无线AP的LAN口与NanoPi-R4S的LAN口相连接,电脑再通过WiFi连接到无线AP,在电脑浏览器上输入以下网址即可进入FriendlyWrt管理页面:
- http://friendlywrt/
- http://192.168.2.1/
- http://[fd00:ab:cd::1]
以上是NanoPi-R4S的LAN口地址,WAN口会从你的主路由器动态获取IP地址。
5.6 建议的安全性设置
以下设置事项非常建议在将 NanoPi-R4S 接入互联网之前完成,因为在空密码或弱密码的状态下将NanoPi-R4S接入互联网,极易受到网络攻击。
- 设置一个安全的密码
进入 系统->管理权 界面设置密码。
- 禁止从wan访问ssh,更换端口
进入 系统->管理权->SSH访问,将接口限制为 lan,将端口设置为其他非常用端口,例如 23333。
5.7 安全的关机操作
进入ttyd终端,输入poweroff命令敲回车,待led灯熄灭,再拔开电源。
5.8 安装软件包
5.8.1 更新可用软件包列表
安装软件前,先更新可用软件包列表:
$ opkg update
5.8.2 查看可安装的软件包
$ opkg list
5.8.3 查看已安装的软件
$ opkg list-installed
5.8.4 安装软件
$ opkg install <包各称>
5.8.5 删除软件
$ opkg remove <包各称>
5.9 FriendlyWrt的一些常见问题
- 无法拨号上网
- 进入“网络“->“防火墙“,将 “WAN区域“ 的“入站数据“,“出站数据“与“转发“均设置为 “接受”;
- 如仍无法上网,可尝试关闭IPV6;
- 无法开机,LED灯不亮
- 尝试更换电源适配器和电缆,推荐使用 5V/2A 以上规格的电源供应;
- 注意,部分Type-C接口的快速充电器会有延迟,可能需要几秒钟才开始提供电量;
- 做二级路由时,电脑无法连接互联网
- 如果你的主网络是IPv4,而NanoPi-R4S工作在IPv6,电脑有可能无法连接互联网,建议关闭IPv6 (本WiKi后面有介绍方法),或将主路由切换到IPv6;
- 如果你有问题,或有更好的建议,欢迎发送邮件到 techsupport@friendlyarm.com;
5.10 让FriendlyWrt重新生成网络设置
此方法会触发 FriendlyWrt 重新识别硬件型号,并生成 /etc/config 下的网络配置,类拟但不完全等效于恢复出厂设置:
rm -rf /etc/board.json /etc/config/system /etc/config/network /etc/config/wireless /etc/firstboot_* /root/.friendlyelec reboot
/root/setup.sh 初始化脚本会在下次开机时再次被执行,所以你可以通过此途径来调试 /root/setup.sh 脚本.
5.11 禁用IPv6
要关掉 IPv6,可在ssh终端输入如下命令:
sed -i -e "s/DISABLE_IPV6=0/DISABLE_IPV6=1/g" /root/setup.sh rm -rf /etc/board.json /etc/config/system /etc/config/network /etc/config/wireless /etc/firstboot_* /root/.friendlyelec reboot
待NanoPi-R4S重启完毕,电脑也需要重新插拨一下网线(或重启网络端口)以便重新获得IP地址。
5.12 配置用户按键的功能
默认情况下, 用户按键配置成用于重启设备(软重启), 如下所示:
echo 'BTN_1 1 /sbin/reboot' >> /etc/triggerhappy/triggers.d/example.conf
你可以通过更改上面的配置文件改变它的行为.
5.13 使用USB2LCD查看IP和温度
将USB2LCD模块Plug到 NanoPi-R4S 的USB接口再开机,IP地址和CPU温度将显示在LCD上:
5.14 PWM风扇的调节
(注:本章节的内容基于2021/08/31之后发布的固件,内核版本 kernel 5.10.xyz)
- 当前PWM风扇的默认行为是: 上电开机稍等片刻(约20秒),风扇会先自动旋转约5秒时间,之后的行为,是由内核驱动,根据CPU温度来决定风扇的开关以及转速。
- 可以通过修改以下脚本:/usr/bin/fa-fancontrol.sh 来更改风扇的行为,例如要修改风扇开始工作时的CPU温度,可以修改以下两行:
echo 50000 > trip_point_3_temp # 表示CPU温度到达50度时,风扇开始工作在最低转速 echo 55000 > trip_point_4_temp # 表示CPU温度到达55度时,风扇升至第二档及以上转速运行,并根据CPU降温情况自动调节至最高档(第4档),或降低转速
- 如果需要调整各个档位的转速,可以修改内核dts文件,并重新编译内核来达到目的,具体的 dts 及修改位置可参考如下commit: https://github.com/friendlyarm/kernel-rockchip/commit/f74ac319f02e2d22cdd33227e7f167e4232809f9
如下如示,cooling-levels 定义了4个档位,0为关闭,最高档的值为255:
fan: pwm-fan { compatible = "pwm-fan"; - /* FIXME: adjust leveles for the connected fan */ - cooling-levels = <0 12 18 255>; + cooling-levels = <0 18 102 170 255>;
- 如你使用的内核版本是 4.19.xyz,此时的风扇是由应用层操作PWM来实现温控的,上述的内容不适用,需要去修改这个脚本:
/usr/bin/fa-fancontrol-direct.sh
5.15 如何使用USB WiFi
5.15.1 如何在终端使用命令查询USB无线网卡型号
(1) 点击“服务>ttyd”进入FriendlyWrt的命令行界面
(2) 在开发板没有插入任何USB设备时输入以下命令以查看挂在USB主线上的现有设备
lsusb
(3) 插入USB WiFi,再次输入以下命令
lsusb
可以看到多出一个设备,ID为0BDA:C811
(4) 以“0BDA:C811”或“VID_0BDA&PID_C811”作为关键词在搜索引擎上搜索,搜索结果显示VID_0BDA&PID_C811的对应WIFI芯片为Realtek 8811CU
5.15.2 如何使用USB WiFi作为AP
(1) 把USB WiFi插入NanoPi-R4S的USB端口,推荐使用以下列表中支持AP模式的WiFi芯片模块:
注:符合以上WiFi芯片型号并符合以上VID&PID信息的USB无线网卡都可以使用,支持的型号不局限于某个品牌某个型号
(2) 插入USB WiFi后,点击上方菜单栏的“系统>重启”,点击“执行重启”按钮重启NanoPi-R4S
(3) 点击“网络>无线”进入配置无线WiFi界面
(4) 点击“编辑”按钮可编辑WiFi设置
(5) 在“接口配置”中可设置WiFi 模式和SSID等,然后点击到“无线安全”项可修改加密方式和WiFi密码,默认密码为password,设置完成后点击“保存”
(4) 配置完成后使用手机端或电脑端搜索对应SSID的WiFi即可
5.15.3 常见的USB WiFi问题及应对方法
1) 建议在关机状态下插入usb wifi, 再上电开机,FriendlyWrt会自动生成配置文件 /etc/config/wireless,如果没有生成,通过 ifconfig -a 看看有没有 wlan0,如果没有 wlan0,通常是没有驱动。
2) 如果 ifconfig -a 能看到 wlan0,但是热点没有正常工作,可以尝试更改 频道 和 国家代号,不合适的国家代号也会导致 WiFi 不工作。
3) 某些USB WiFi(例如MTK MT7662)默认工作在CD-ROM模式,需要经过usb_modeswitch来进行切换,可以尝试自行添加 usb_modeswitch 配置到以下目录:/etc/usb_modeswitch.d 。
5.16 玩转Docker应用
5.16.1 Docker使用:安装JellyFin影音服务器
请参考: How to setup JellyFin media system on NanoPi-R2S/zh
5.16.2 Docker使用:安装个人网盘nextcloud
mkdir /nextcloud -p docker run -d -p 8888:80 --name nextcloud -v /nextcloud/:/var/www/html/ --restart=always --privileged=true arm64v8/nextcloud
安装完成后,使用8888端口进行访问。
5.17 挂载smbfs共享资源
mount -t cifs //192.168.1.10/shared /movie -o username=xxx,password=yyy,file_mode=0644
5.18 使用sdk编译软件包
5.18.1 安装编译环境
在64位的Ubuntu (版本18.04+)下载并运行如下脚本: How to setup the Compiling Environment on Ubuntu bionic
5.18.2 在网盘上下载并解压sdk
sdk位于网盘的toolchain目录,解压后,需要先下载feeds软件包:
tar xvf ~/dvd/FriendlyELEC-NanoPiR4S/toolchain/friendlywrt/openwrt-sdk-19.07.5-rockchip-rk3399_gcc-7.5.0_musl.Linux-x86_64.tar.xz # 路径太长会导致有些包编译出错,所以这里改一下目录名 mv openwrt-sdk-19.07.5-rockchip-rk3399_gcc-7.5.0_musl.Linux-x86_64 sdk cd sdk ./scripts/feeds update -a ./scripts/feeds install -a
5.18.3 将软件包编译并打包成ipk文件
此处以mwarning的示例作为演示,下载例子的源代码(共3个分别为example1, example2, example3),并拷到package目录:
git clone https://github.com/mwarning/openwrt-examples.git cp -rf openwrt-examples/example* package/ rm -rf openwrt-examples/
再通过以下命令进入配置菜单:
make menuconfig
在菜单中选中以下我们要编译的软件包(默认实际上已经选中):
"Utilities" => "example1" "Utilities" => "example3" "Network" => "VPN" => "example2"
退出配置菜单的界面,在提示是否保存设置时需要选择Yes,然后执下以下命令,分别编译这三个软件包:
make package/example1/compile V=99 make package/example2/compile V=99 make package/example3/compile V=99
编译成功后,可以在bin目录下找到ipk文件,如下所示:
$ find ./bin -name example*.ipk ./bin/packages/aarch64_cortex-a53/base/example2_0.1-1_aarch64_cortex-a53.ipk ./bin/packages/aarch64_cortex-a53/base/example3_0.1-1_aarch64_cortex-a53.ipk ./bin/packages/aarch64_cortex-a53/base/example1_0.1-1_aarch64_cortex-a53.ipk
5.18.4 将编译生成的ipk安装到NanoPi上
可以用scp命令将ipk文件上传到NanoPi上:
cd ./bin/packages/aarch64_cortex-a53/base/ scp example*.ipk root@192.168.2.1:/root/
然后用opkg命令进行安装他们:
cd /root/ opkg install example2_0.1-1_aarch64_cortex-a53.ipk opkg install example3_0.1-1_aarch64_cortex-a53.ipk opkg install example1_0.1-1_aarch64_cortex-a53.ipk
5.19 Compile u-boot,kernel or friendlywrt
- Refer to:
6 FriendlyCore的使用
6.1 FriendlyCore默认帐户
- 普通用户:
用户名: pi 密码: pi
- Root用户:
用户名: Root用户: 密码: fa
6.2 更新软件包
$ sudo apt-get update
6.3 配置网络
6.3.1 设置静态IP地址
默认已将 eth0 配置成 dhcp 自动获取IP地址,要更改配置,可以修改这个文件:
vi /etc/network/interfaces.d/eth0
比如修改成静态IP地址,如下所示:
auto eth0 iface eth0 inet static address 192.168.1.231 netmask 255.255.255.0 gateway 192.168.1.1
6.3.2 设置DNS
还需要修改如下文件加入DNS的配置:
vi /etc/systemd/resolved.conf
例如设置为192.168.1.1:
[Resolve] DNS=192.168.1.1
再用以下命令重新启动systemd-resolved服务:
sudo systemctl restart systemd-resolved.service sudo systemctl enable systemd-resolved.service
6.3.3 设置使用另一个网络接口
要配置另一个网口, 例如eth1,可以在 /etc/network/interfaces.d/ 下复制 eth0 成 eth1,然后编辑eth1, 把其中的eth0改为eth1, 根据需要指定网络配置:
cp /etc/network/interfaces.d/eth0 /etc/network/interfaces.d/eth1 vi /etc/network/interfaces.d/eth1
6.4 连接WiFi
先用以下命令检查一下系统是否有安装Network-Manager:
which nmcli
如果有安装Network-Manager, 则参考此链接的方法连接WiFi: Use NetworkManager to configure network settings/zh, 如果没有安装, 则参考如下方法配置WiFi,
输入以下命令查询一下WiFi的网络接口,wlan开头的就是WiFi:
ifconfig -a
默认情况下是wlan0,在/etc/network/interfaces.d/目录下新建一个与网络接口同名的配置文件 ,以wlan0为例,用vi命令新建以下文件:
sudo vi /etc/network/interfaces.d/wlan0
wlan0文件的内容如下:
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid YourWiFiESSID
wpa-ap-scan 1
wpa-proto RSN
wpa-pairwise CCMP
wpa-group CCMP
wpa-key-mgmt WPA-PSK
wpa-psk YourWiFiPassword
其中,YourWiFiESSID和YourWiFiPassword请替换成你要连接的无线AP名称和密码, 保存文件后输入以下命令, 或者重启以应用配置:
sudo systemctl daemon-reload sudo systemctl restart networking
需要注意的是,如果你的SD卡在多个硬件上运行,WiFi的网络接口可能会被重命名为wlan1, wlan2等,你可以通过清空这个文件的内容并重启让它恢复为默认值:/etc/udev/rules.d/70-persistent-net.rules。
6.4.1 重点支持的WIFI型号
6.4.1.1 M.2 WiFi Module
- RTL8822CE
6.4.1.2 Usb Dongle
- RTL8821CU (Vid: 0BDA, Pid: C811) (测试样品:TP-Link TL-WDN5200H)
- RTL8812AU (Vid: 0BDA, Pid: 8812)
- MediaTek MT7662 (Vid: 0E8D, Pid: 7612) (测试样品:COMFAST CF-WU782AC V2)
6.5 安装内核头文件
sudo dpkg -i /opt/linux-headers-*.deb
6.6 编译内核头文件安装包
6.7 配置状态灯
先确定一下系统是否已经存在leds初始化的服务:
sudo systemctl status leds
如果已经存在leds服务, 则通过编辑如下文件改变状态灯的默认行为:
/etc/init.d/leds.sh
早期的固件由于没有leds服务, 需要参考以下指南手动配置状态灯, 首先, 设置开机自动加载以下内核模块:
modprobe ledtrig-netdev echo ledtrig-netdev > /etc/modules-load.d/ledtrig-netdev.conf
下面的脚本代码将状态灯与网卡相关联, 需要加入到开机自动运行的脚本中:
echo netdev > /sys/class/leds/wan_led/trigger echo eth0 > /sys/class/leds/wan_led/device_name echo 1 > /sys/class/leds/wan_led/link echo netdev > /sys/class/leds/lan_led/trigger echo eth1 > /sys/class/leds/lan_led/device_name echo 1 > /sys/class/leds/lan_led/link
6.8 串口调试
用screen登入串口调试:
screen /dev/ttyUSB0 1500000 8N1
7 如何编译系统
7.1 编译 Openwrt/Friendlywrt
7.1.1 下载源代码
mkdir friendlywrt-rk3399 cd friendlywrt-rk3399 repo init -u https://github.com/friendlyarm/friendlywrt_manifests -b master-v19.07.4 -m rk3399.xml --repo-url=https://github.com/friendlyarm/repo --no-clone-bundle repo sync -c --no-clone-bundle
7.1.2 开始编译
./build.sh nanopi_r4s.mk
会编译所有组件(包含u-boot, kernel 和 friendlywrt)并生成sd卡镜像文件。
7.2 单独编译u-boot,kernel或friendlywrt
8 资源链接
8.1 手册原理图等开发资料
- PCB尺寸图
9 更新日志
首次发布