全志D1-H哪吒开发板开机连接wifi热点, 启动 sshd 服务

2024-02-02 15:20:34 浏览数 (1)

  1. 下载 dropbear-D1.tgz源码 (尴尬, 没找到上传菜单), 解压, 编译:

根据实际情况修改 gcc 路径

代码语言:javascript复制
CROSS=/opt/D1/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702/bin/riscv64-unknown-linux-gnu- make
  1. 修改 wifi 热点配置
代码语言:javascript复制
package/allwinner/wifimanager/files/wpa_supplicant_overlay.conf

disable_scan_offload=1

network={
    ssid="whycan"
    psk="13800138000"
}
  1. 修改文件系统, 添加文件 allwinner/d1-nezha/base-files/etc/init.d/S51dropbear
代码语言:javascript复制
# Allow a few customizations from a config file
test -r /etc/default/dropbear && . /etc/default/dropbear

start() {
        DROPBEAR_ARGS="$DROPBEAR_ARGS -R"

        # If /etc/dropbear is a symlink to /var/run/dropbear, and
        #   - the filesystem is RO (i.e. we can not rm the symlink),
        #     create the directory pointed to by the symlink.
        #   - the filesystem is RW (i.e. we can rm the symlink),
        #     replace the symlink with an actual directory
        if [ -L /etc/dropbear 
             -a "$(readlink /etc/dropbear)" = "/var/run/dropbear" ]
        then
                if rm -f /etc/dropbear >/dev/null 2>&1; then
                        mkdir -p /etc/dropbear
                else
                        echo "No persistent location to store SSH host keys. New keys will be"
                        echo "generated at each boot. Are you sure this is what you want to do?"
                        mkdir -p "$(readlink /etc/dropbear)"
                fi
        fi

        printf "Starting dropbear sshd: "
        umask 077

        start-stop-daemon -S -q -p /var/run/dropbear.pid 
                --exec /usr/sbin/dropbear -- $DROPBEAR_ARGS
        [ $? = 0 ] && echo "OK" || echo "FAIL"
}
stop() {
        printf "Stopping dropbear sshd: "
        start-stop-daemon -K -q -p /var/run/dropbear.pid
        [ $? = 0 ] && echo "OK" || echo "FAIL"
}
restart() {
        stop
        start
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart|reload)
        restart
        ;;
  *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac

exit $?

把前面编译的 dropbear 复制到 allwinner/d1-nezha/base-files/usr/sbin/

  1. 执行编译/打包/烧录:
代码语言:javascript复制
source build/envsetup.sh;lunch d1_nezha-tina;make;pack
  1. 启动手动执行 (因为还不会自动执行, 折腾了很多次也没搞定)
代码语言:javascript复制
#获取IP
udhcpc -i wlan0
代码语言:javascript复制
#启动ssh服务
/etc/init.d/S51dropbear restart
代码语言:javascript复制
root@TinaLinux:/# udhcpc -i wlan0
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending select for 192.168.43.224
udhcpc: lease of 192.168.43.224 obtained, lease time 3599
udhcpc: ifconfig wlan0 192.168.43.224 netmask 255.255.255.0 broadcast 192.168.43.255
udhcpc: setting default routers: 192.168.43.1
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/# /etc/init.d/S51dropbear restart
Stopping dropbear sshd: OK
Starting dropbear sshd: OK
  1. 给板子的root设置一个密码 passwd
  2. 用 Xshell, mobaxterm, putty, ssh命令行等都可以连接到 192.168.43.224 2021-05-18_181258.png

原贴链接:https://bbs.aw-ol.com/topic/73/

0 人点赞