最需要注意的是:
- 不要设置启动时挂载硬盘 (可以启动后, 设置来自启动挂载)
- 不要修改下的权限 (否则会修改权限然后无法修改回来, 重装系统)
- ssh 将22端口换成别的 (大家都知道默认用户密码是pi和pi 如果懒得改账户密码, 就改端口)
重装系统后的初始化操作
说明
最近由于硬盘频繁使用, 并且有一些web项目需要调试, 但是觉得自己的笔记本挂载硬盘啥的有点大财小用, 所以就想到买一块开发板来做专业的开发, 主要的功能如下:
- 能够流畅操作系统, 不像4B+这么垃圾
- 能够安装软件方便, 基于Ubuntu 18.04的系统系统, 并带有轻量级桌面(虽然不用)
- 具有WiFi, 千兆网,(可以做云盘和宿舍热点)
- 部署web项目简单
- 能够加nvme的固态硬盘, 无限扩展
之所以操作流程我想主要的原因还是Linux➕轻量级桌面, 毕竟桌面消耗了很大的资源
nanoPC-T4到手体验
T4是一块4G DDR3内存, 16Gemmc存储的板子, 4核CPU, GPU加速, NPU视频解析加速, 我个人觉得这配置应该够开发用了, 所以就想着入手试试, 因为之前入手树莓派4B+ 8G内存, 卡的不行, 挂载一个摄像头, 在进行人物分析时明明一个视频却解析成了一张张的图片(卡的), 所以这里是想告诉大家 树莓派整个系列是个坑, 虽然开源项目有很多好玩的, 但是硬件真的不行, 干啥都卡; 真的给我惊艳到了, 直接说昨晚到货后, 安装完系统, 我把常用的需求都安装了, 比如MySQL, Apache, frp, VScode, 看着2倍速1080p视频, 后台还挂着sambd, , 完全不卡, 完全不卡, 完全不卡
rk3399-friendlyDesktop系统安装
这是一个具有图形化界面的系统, 可以理解成Ubuntu18.04
之所以使用这个系统:
- Ubuntu18.04对应的解决方案全网都能查到
- 有界面可以在没有电脑的时候使用这个小机子抗一抗
- 有界面性能也并没有变差, 开机3S
按照nanoPC -T4中文资料教程擦除和执行烧写即可
默认
这是个什么东西? 程序员大部分都不知道, 尤其是我们AI实验室(我猜)
这个其实就是普通单片机的引脚操作包, 比如中外部中断, 与传感器, , 这些都需要对进行开关的时序操作完成, 所以这个包的作用就是这, 比如将一个的连接到板子上, 通过设置 来实现数据信号的通信
- 安装
- 修改配置
- 重启
- 配置秘钥, 免密登录
- 本地主机
左上角–>deference–>language support --> install
点击 左上角–>deference 有个小熊, 就可以了有谷歌拼音了
由于nanoPC-T4这款过于经验, 使得我不得不进一步开发其资源
毕竟emmc才16G, 因此又在某宝买了个500G的m.2 nvme 的闪迪SSD, 挂载到板子上, 以至于后面就可以直接当成我的小主机来用了, 一想到回老家只需要带一个比手机还小的东西就解决设备问题, 就很香!!!
个人建议把挂载到上面新创建的用户上, 这是因为很多软件和个人数据都在/home/zjq路径下的中, 因此当系统出故障需要恢复的时候, 重新挂载SSD后, 个人数据直接恢复不会丢失, 且相关配置文件也都在这里面, 安全
1.12.1. 测试和重新分区
1.12.2. 挂载和自动挂载
由于本身有4G内存, 不太够用, 所以创建个16G的swap空间用来进行骚操作; 在后期编译运行一些文件时还真的因为4G内存太小导致了编译失败的问题, 开启swap后直接就好用了
为了验证一波在固态硬盘上开启一波swap的真实有效性, 我创建了一个 10G的txt文件, 然后利用 直接把内存占用给拉到了巅峰, 从而确定了该操作确实是对内存扩展有非常大的帮助
效果如下所示:
注意先使用命令 确定一下版本号
官网介绍
点击这里下载 create_ap GitHub
mysql学习链接
2.3.1. 安装
期初以为这个板子跟树莓派4B+一样结果发现内核不一样,需要选择对应的内核版本才行, 这里使用 测试是
所以在 点击跳转GitHub-frp
点击跳转到我的frp介绍
2.3.2. 设置开机启动
利用创建对应的开机自启动
2.4.1. 先安装依赖
2.4.2. 安装owncloud
2.4.3. 创建数据库
2.4.4. 安装完成, 测试owncloud
错误, 是因为直接使用conda自带的base环境, 应该重新创建, 按照下面的介绍操作, 才能安装tf2
点击去GitHub下载miniforge-conda
其他操作跳转到python全解
2.7.1. 安装TensorFlow 2.4.0
- 去Github下载对应的版本, 我看到只有和 版本的, 因此下载
- 使用创建一个新的环境, 版本设置为
- 使用 安装下载下来的whl包即可
lhelontra/tensorflow-on-arm
2.7.2 直接安装python3.9
2.8.1. 安装启动服务
2.8.2. win10链接到NanoPC-T4
2.8.3. 开机启动
如果想要使用别的用户, 比如新建用户hello
NanoPC-T4(RK3399) game1 oled(I2C)显示时间天气温度
见我的gitee直接下载安装即可
- 安装完成后修改路径
- 设置下载源
- 设置用户权限
其他docker命令见连接
一共涉及两个文件的修改
下面命令是指定到了路径
放到这个路径下的目的是因为: 我已经将固态硬盘256G的挂载到了/home路径下, 因此将所有的代码, 软件, 都安装部署到/home路径下, 等下次系统出问题恢复的时候, 我只需要更新一下系统后, 直接挂在这个硬盘, 所以的软件就都还在, 里面的全局变量也都在, 不用在重新安装了
make并且插入到了指定路径下, 一些头文件都动态链接库以及二进制文件都在哪里呢
如果其他程序想要调用怎么办呢?
-
首先了解库文件的知识
- : gcc在编译之前使用来搜索包含静态和共享库的目录,这些目录需要链接到您的程序
- :程序已经成功编译并且链接成功后,使用来搜索目录
-
我的理解就是 在程序编译调用静态库和共享库时会扫描这个路径; 而程序在执行时, 会去扫描这个路径; 因此对于不同路径的库, 我们需要设置三个全局变量
- 第一步: 指定 , , 对应的头文件路径
- 第二步: 指定编译过程中的静态和动态库路径
- 第三步: 指定运行过程中调用的动态库路径(因为静态库在编译的过程中已经拷贝到项目中生成了文件)
到此, make 插入到不同的路径, 并且能够全局使用了
这是因为交换空间不足造成的, 跳转到 扩大swap空间 见1.13节
在GitHub后面添加
对于子模块,可以先不要在的时候加上,等主体部分下载完之后,该文件夹中有个隐藏文件称为:,把子项目中的url地址同样加上后缀,然后利用更新子项目对应的,最后再,即可正常网速clone完所有子项目。
java install and idea start
maven
5.2.1
Main PID: 2226953 (code=exited, status=1/FAILURE)