有線網絡
bash 指令
ifconfig eth0 192.168.2.222 netmask 255.255.255.0 up
route add default gw 192.168.2.1
開機自啟
- 修改網絡設置文件
/etc/init.d/S40network
#!/bin/sh
#
# Start the network....
## Debian ifupdown needs the /run/network lock directory
mkdir -p /run/networkMAC_ADDR="`cat /sys/class/sunxi_info/sys_info | awk '$1=="sunxi_chipid" {print $3}' | sed 's/../&:/g' | cut -c1-14`"case "$1" instart)printf "Starting network: "/sbin/ifup -a/sbin/ifconfig lo up/sbin/ifconfig eth0 up[ $? = 0 ] && echo "OK" || echo "FAIL"/sbin/ifconfig eth0 hw ether "00:$MAC_ADDR"udhcpc -b -R &[ $? = 0 ] && echo static || echo stop;;static)printf "network Static Setting: "/sbin/ifconfig eth0 192.168.2.222 netmask 255.255.255.0 up/sbin/route add default gw 192.168.2.1[ $? = 0 ] && echo "OK" || echo "FAIL";;stop)printf "Stopping network: "/sbin/ifdown -a[ $? = 0 ] && echo "OK" || echo "FAIL";;restart|reload)"$0" stop"$0" start;;*)echo "Usage: $0 {start|stop|restart}"exit 1
esacexit $?
- 修改啟動文件
/etc/init.d/rc.final
#!/bin/shecho "------run rc.final file-----"
echo "Hello Turing "
amixer cset name="Headphone Switch" 1if [ -e /tmp/private/ ]; then echo "clear private mount info"umount /tmp/private/rm -rf /tmp/privateubiblock -r /dev/by-name/private
fi
network_start()
{echo "network start:"/etc/init.d/S40network start
}wifi_connect()
{echo "wifi connect:"wifi_connect_ap_test ChinaNet-guo 17388753767
}sshd_start()
{echo "sshd start:"/etc/init.d/dropbear startdropbear
}network_start
wifi_connect
sshd_start
無線網絡
指令
~: wifi_connect_ap_test ChinaNet-guo 173887*****
SSH 鏈接
韋東山提供的固件內沒有開啟 SSH,需要開啟配置后編譯。但是正常編譯會因為 openssl 版本問題導致無法正常工作。
有兩種解決方案:
- openssl 版本回退
- 使用 Dropbear 進行 SSH 鏈接
openssl 版本回退
ubuntu 18.0.4 版本內置 openssl 版本為 1.1.1,需要進行版本回退到 1.1.0,然后重新編譯。下面是整個過程
版本回退
- 查看所有版本
apt-cache madison openssl
- 查看版本詳細信息
apt-cache policy openssl
- 安裝指定版本
sudo apt install openssl=1.1.0g-2ubuntu4
openssh 開啟
- 環境設置
~: source build/envsetup.sh
~: lunch 4
~: make menuconfig
- 在 menuconfig 菜單中開啟如下選項
其中 Compile with optimized assembly code 這一項查資料說要勾選,但是測試中勾選后編譯出來的鏡像無法完成燒錄。所以去掉了勾選,編譯后功能正常。
- 在 TinaSDK 根目錄刪除 out 文件夾,然后編譯
測試
編譯后燒錄到開發板測試。
- 啟動 eth0
ifconfig eth0 192.168.2.222 up
,啟動后測試網絡是否 ping 通 - 配置 ssh
rm -rf /etc/ssh/sshd_config
vim /etc/ssh/sshd_config輸入以下配置:
Port 22# Logging
SyslogFacility AUTH
LogLevel INFOHostKey /etc/ssh/ssh_host_rsa_keyHostKey /etc/ssh/ssh_host_ed25519_key# Authentication:
LoginGraceTime 2m
PermitRootLogin yes
PermitEmptyPasswords yes
StrictModes yes
MaxAuthTries 6
MaxSessions 10
AuthorizedKeysFile .ssh/authorized_keysTCPKeepAlive yesSubsystem sftp /usr/lib/sftp-server
- 啟動 ssh
cd /etc/init.d/
./sshd start
- 報錯處理
Privilege separation user sshd does not exist
vi /etc/passwd在末尾添加一行:
sshd:x:109:65534::/var/run/sshd:/usr/sbin/nologin
- 報錯處理
procd_add_mdns
vim /etc/init.d/sshd注釋掉如下代碼:
#procd_add_mdns “ssh” “tcp” “$lport”
- 啟動 ssh
cd /etc/init.d/
./sshd start
Dropbear 鏈接
開啟 Dropbear
~: make menuconfig->base System->dropbear
測試
- 編譯后燒錄到開發板
- 進入到
/etc/init
執行指令./dropbear start
- 執行指令
dropbear
- 使用 ssh 客戶端進行連接即可