荔枝派Nano (Lichee Pi)玩 Linux 傻瓜教程 (5) --- 虚拟USB网卡,SSH登录
转载请注明出处。http://chengchen.cnblogs.com/
以前的文章提到用COM口连接后,可以拿到shell和文件传输。但由于COM的速度限制,最快不过10K每秒。不能忍受啊。
看到一篇大神的文章,可以将USB虚拟为网卡。这样我们不就是可以用SSH登录吗(还记得,上篇文章中我们顺手安装了OPENSSH么)
https://whycan.cn/t_3087.html
赶紧把文章中提到的编译包下载下来https://pan.baidu.com/s/1mJl7M4W3RvlqyHt26JgpVA
解压缩后,丢到ubuntu虚拟机中
1. 重新编译dtb
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- dtbs -j4
这条命令执行成功后可以获得dtb文件,保存在 arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dtb
2. 编译内核
ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make -j4
编译成功后,可以获得文件 arch/arm/boot/zImage
然后我们就可以烧录了,还是利用前文说的,利用官方的烧录的方法,然后再文件替换大法。
把步骤1生成的文件,替换 p1\dtb_800600\tf\suniv-f1c100s-licheepi-nano.dtb
把步骤2生成的文件,替换 p1\tf-zImage
执行脚本生成文件,然后烧录TF卡。(前面的文章已经说明)
3. 烧录成功后,我们直接上USB 连接电脑。系统启东后,虚拟机会主动提示是否连接
连接上虚拟机后,执行 ip a 可以看到,系统多了一个虚拟的网卡。
给这个虚拟网卡强制指定一个任意新网段的IP
ifconfig ens35u1 192.168.5.101
4. 前面的USB转TTL连接还是要用的(COM需要连接到主机,非虚拟机),COM登录后,同样设置IP
ifconfig usb0 192.168.5.100
然后在虚拟机就可ping 192.168.5.100, 在荔枝派上ping 192.168.5.101, 如下图所示,说明是可以互访的。
要注意,如果要想实现SSH登录,上篇文章一定要安装openssh的包才行。默认root是不能登录的,于是我们还要修改一下配置文件,在荔枝派中修改:
vi /etc/ssh/sshd_config
增加一行代码在下图的高亮处配置:
PermitRootLogin yes
保存后,退出。
重启荔枝派nano,一定要注意,USB转TTL的COM连接到主机,而USB连接到虚拟机。重启后还需要重新指定IP地址。
这样在虚拟机中,就可以直接用putty等了,我们来测试一下: 成功了!!
那么在Windows主机上如何利用SSH连接呢?而不在虚拟机中连接呢?
很简单,在虚拟机中搞一个端口转发就行了,方法很多。我用rinetd
下载rinetd,然后解压后用 make 编译一下。
新增一个文件放到如下目录:
/etc/rinetd.conf
0.0.0.0 2222 192.168.5.100 22
这个意思就是,绑定本地2222端口,然后转发到192.168.5.100的22端口,也就是荔枝派的端口
然后执行 ./rinetd 就行了。(注意检查虚拟机防火墙,和主机防火墙)如果你觉得,每次重启后,都要重新映射太烦的话,注册为service就行了,自己百度一下。
然后我们尝试用WinSCP连接 虚拟机的主IP地址(虚拟机网卡需要设置为:网桥连接,让其分配到当前局域网的IP地址)IP为2222端口,输入连接密码就可以连接上去了,我们来传输一个大文件试一试速度如何:
实测 2MB/s, 比起COM口的10K每秒,那速度是杠杠的。
这样在windows上也可以用SSH连接了。
--------------------后来发现其实可以直接在win10上安装一个驱动,然后连接主机就可以识别网卡了--------------------
驱动下载:https://www.mobileread.com/forums/showthread.php?p=3283986
参考:https://blog.csdn.net/u012577474/article/details/102869896