轉載請注明出處。http://chengchen.cnblogs.com/
以前的文章提到用COM口連接后,可以拿到shell和文件傳輸。但由於COM的速度限制,最快不過10K每秒。不能忍受啊。
看到一篇大神的文章,可以將USB虛擬為網卡。這樣我們不就是可以用SSH登錄嗎(還記得,上篇文章中我們順手安裝了OPENSSH么)
趕緊把文章中提到的編譯包下載下來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