有线网络
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/network
MAC_ADDR="`cat /sys/class/sunxi_info/sys_info | awk '$1=="sunxi_chipid" {print $3}' | sed 's/../&:/g' | cut -c1-14`"
case "$1" in
start)
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
esac
exit $?
- 修改启动文件
/etc/init.d/rc.final
#!/bin/sh
echo "------run rc.final file-----"
echo "Hello Turing "
amixer cset name="Headphone Switch" 1
if [ -e /tmp/private/ ]; then
echo "clear private mount info"
umount /tmp/private/
rm -rf /tmp/private
ubiblock -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 start
dropbear
}
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 INFO
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
# Authentication:
LoginGraceTime 2m
PermitRootLogin yes
PermitEmptyPasswords yes
StrictModes yes
MaxAuthTries 6
MaxSessions 10
AuthorizedKeysFile .ssh/authorized_keys
TCPKeepAlive yes
Subsystem 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 客户端进行连接即可