导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    V853s 如何将dropbear服务编译到文件系统

    V Series
    3
    16
    4867
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • H
      hzhy1234 LV 5 最后由 编辑

      【超级会员V5】通过百度网盘分享的文件:tina-v851.tar.gz
      链接:https://pan.baidu.com/s/1GIK5xT8iv1iRYPJkFdOH0g?pwd=v853
      提取码:v853

      SDK目录如下:
      84964832-4adf-4bfd-bce1-e2ee376a709f-image.png

      在SDK的根目录下执行make menuconfig,将dropbear包使能并保存
      d1701cb7-f4ee-4580-97c2-296e66491334-image.png

      然后执行mp.
      烧写生成后的固件,发现启动后没有dropbear服务。

      以相同的方式勾选命令i2cdetect i2cdump i2cset i2cget,发现烧写的镜像中没有这些指令。在整个SDK下也没搜到生成的这些二进制指令

      请问如何添加包到烧写的文件系统镜像中。

      1 条回复 最后回复 回复 引用 分享 0
      • WhycanService
        WhycanService LV 8 最后由 编辑

        检查 LOG 查看 dropbear是否存在其他依赖

        H 2 条回复 最后回复 回复 引用 分享 0
        • H
          hzhy1234 LV 5 @WhycanService 最后由 编辑

          此回复已被删除!
          1 条回复 最后回复 回复 引用 分享 0
          • H
            hzhy1234 LV 5 @WhycanService 最后由 编辑

            @whycanservice 您好,发现在sdk下查找dropbear如下:
            ./package/network/services/dropbear
            ./out/v853s-perf1/staging_dir/target/rootfs/usr/sbin/dropbear
            ./out/v853s-perf1/staging_dir/target/rootfs/etc/config/dropbear
            ./out/v853s-perf1/staging_dir/target/rootfs/etc/dropbear
            ./out/v853s-perf1/staging_dir/target/rootfs/etc/init.d/dropbear
            ./out/v853s-perf1/compile_dir/target/rootfs/usr/sbin/dropbear
            ./out/v853s-perf1/compile_dir/target/rootfs/etc/config/dropbear
            ./out/v853s-perf1/compile_dir/target/rootfs/etc/dropbear
            ./out/v853s-perf1/compile_dir/target/rootfs/etc/init.d/dropbear

            但是镜像启动后,问题:
            1)在/usr 目录下没有sbin目录;
            2)vi /etc/rcS 提示是只读 ,可实际是如何在rcS内添加用户的启动脚本;
            3)编译过程中staging_dir和compile_dir目录,哪一个是最终打包生成镜像所需要的目录;
            4)为何/usr/sbin目录在镜像中没有生成?

            谢谢!

            1 条回复 最后回复 回复 引用 分享 0
            • WhycanService
              WhycanService LV 8 最后由 编辑

              c610adae-4f31-4c28-a995-507020bbbf47-image.png

              dropbear 应该是一个服务,注册在 init.d 中,可以尝试使用

              ./etc/init.d/dropbear start_service
              H 2 条回复 最后回复 回复 引用 分享 0
              • H
                hzhy1234 LV 5 @WhycanService 最后由 编辑

                @whycanservice 现在问题是镜像启动后 没有/usr/sbin目录。只有如下目录:
                root@TinaLinux:/# ls /usr/
                bin share

                这两个目录貌似跟tina/target/allwinner/v853s-perf1/busybox-init-base-files/目录下的usr目录比较相似。

                请问这是什么原因导致的。个人理解打包的路径应该是staging_dir或者是compile_dir才对。
                ./out/v853s-perf1/staging_dir/target/rootfs/usr/sbin/dropbear
                ./out/v853s-perf1/staging_dir/target/rootfs/etc/config/dropbear
                ./out/v853s-perf1/staging_dir/target/rootfs/etc/dropbear
                ./out/v853s-perf1/staging_dir/target/rootfs/etc/init.d/dropbear
                ./out/v853s-perf1/compile_dir/target/rootfs/usr/sbin/dropbear
                ./out/v853s-perf1/compile_dir/target/rootfs/etc/config/dropbear
                ./out/v853s-perf1/compile_dir/target/rootfs/etc/dropbear
                ./out/v853s-perf1/compile_dir/target/rootfs/etc/init.d/dropbear

                请问文件系统镜像打包是用的staging_dir 还是compile_dir?还是依据别的目录 谢谢!

                WhycanService 1 条回复 最后回复 回复 引用 分享 0
                • H
                  hzhy1234 LV 5 @WhycanService 最后由 编辑

                  @whycanservice

                  a15e815f-7db4-45d3-af52-8ac05c89a3c4-image.png

                  这个该如何执行

                  WhycanService 1 条回复 最后回复 回复 引用 分享 0
                  • WhycanService
                    WhycanService LV 8 @hzhy1234 最后由 编辑

                    @hzhy1234 执行

                    ./etc/init.d/dropbear start
                    
                    H 2 条回复 最后回复 回复 引用 分享 0
                    • WhycanService
                      WhycanService LV 8 @hzhy1234 最后由 WhycanService 编辑

                      @hzhy1234 在 V853s 如何将dropbear服务编译到文件系统 中说:

                      请问文件系统镜像打包是用的staging_dir 还是compile_dir?还是依据别的目录 谢谢!

                      staging_dir 是编译时的查找路径,例如某程序依赖zlib,sdk就会先编译zlib并暂存到staging_dir,之后编译该程序时去 staging_dir 查找lib文件和头文件即可。不是打包的目录。

                      compile_dir 是 OpenWRT 的 ipkg 包编译路径,同样不是打包路径。

                      SDK的打包方式为:每个程序编译出 ipkg 包,然后逐个安装 ipkg 包组合成 rootfs

                      H 1 条回复 最后回复 回复 引用 分享 0
                      • H
                        hzhy1234 LV 5 @WhycanService 最后由 编辑

                        @whycanservice

                        root@TinaLinux:/# ./etc/init.d/dropbear start
                        root@TinaLinux:/# /etc/rc.common: line 269: uci_load: not found
                        ps
                          PID USER       VSZ STAT COMMAND
                            1 root      1056 S    /sbin/init
                            2 root         0 SW   [kthreadd]
                            3 root         0 SW   [kworker/0:0]
                            4 root         0 SW<  [kworker/0:0H]
                            5 root         0 SW   [kworker/u2:0]
                            6 root         0 SW   [ksoftirqd/0]
                            7 root         0 SW   [rcu_preempt]
                            8 root         0 SW   [rcu_sched]
                            9 root         0 SW   [rcu_bh]
                           10 root         0 SW<  [lru-add-drain]
                           11 root         0 SW   [kdevtmpfs]
                           12 root         0 SW   [kworker/u2:1]
                          321 root         0 SW   [oom_reaper]
                          322 root         0 SW<  [writeback]
                          324 root         0 SW<  [crypto]
                          325 root         0 SW<  [bioset]
                          327 root         0 SW<  [kblockd]
                          369 root         0 SW   [kworker/0:1]
                          377 root         0 SW   [irq/330-axp2101]
                          426 root         0 SW   [sys_user]
                          437 root         0 SW<  [cfg80211]
                          443 root         0 SW<  [watchdogd]
                          542 root         0 SW   [kswapd0]
                          601 root         0 SW<  [SquashFS read w]
                          632 root         0 SW   [vsync proc 0]
                          634 root         0 SW   [kworker/0:2]
                          708 root         0 SW   [kworker/0:3]
                          712 root         0 SW   [kworker/0:4]
                          717 root         0 SW<  [btudpwork]
                          718 root         0 SW<  [btfwwork]
                          720 root         0 SW   [cfinteractive]
                          731 root         0 SW   [irq/303-sunxi-m]
                          758 root         0 SW<  [ipv6_addrconf]
                          760 root         0 SW<  [krfcommd]
                          768 root         0 DW   [usb-hardware-sc]
                          771 root         0 SW<  [bioset]
                          772 root         0 SW   [mmcqd/0]
                          773 root         0 SW<  [bioset]
                          774 root         0 SW   [mmcqd/0boot0]
                          775 root         0 SW<  [bioset]
                          776 root         0 SW   [mmcqd/0boot1]
                          777 root         0 SW<  [bioset]
                          778 root         0 SW   [mmcqd/0rpmb]
                          796 root         0 SW<  [kworker/0:1H]
                          818 root         0 SW   [jbd2/mmcblk0p5-]
                          819 root         0 SW<  [ext4-rsv-conver]
                          849 root         0 SW   [jbd2/mmcblk0p7-]
                          850 root         0 SW<  [ext4-rsv-conver]
                          855 root         0 SW   [xradio_etf]
                          861 root         0 SW   [xradio_proc]
                          870 root         0 SW   [xradio_proc]
                         1029 root      1232 S    adbd
                         1031 root      1320 S    /usr/sbin/dbus-daemon --system
                         1036 root      1316 S    wifi_deamon
                         1051 root       696 S    /sbin/swupdate-progress -w
                         1058 root      1056 S    -/bin/sh
                         1073 root         0 SW   [kworker/u2:2]
                         1085 root      1056 S    udhcpc -b -R
                         1139 root      1056 R    ps
                        root@TinaLinux:/# pwd
                        /
                        root@TinaLinux:/# 
                        root@TinaLinux:/# 
                        
                        1 条回复 最后回复 回复 引用 分享 0
                        • H
                          hzhy1234 LV 5 @WhycanService 最后由 编辑

                          此回复已被删除!
                          1 条回复 最后回复 回复 引用 分享 0
                          • H
                            hzhy1234 LV 5 @WhycanService 最后由 编辑

                            @whycanservice 这个执行过程中出错

                            WhycanService 1 条回复 最后回复 回复 引用 分享 0
                            • WhycanService
                              WhycanService LV 8 @hzhy1234 最后由 编辑

                              @hzhy1234

                              参考 OpenWRT 说明配置 dropbear 服务
                              https://openwrt.org/docs/guide-user/base-system/dropbear

                              可以看到 dropbear 由 luci 管理,可能需要增加 luci 服务才可以运行

                              推荐使用 openssh 替代 dropbear

                              H 1 条回复 最后回复 回复 引用 分享 0
                              • H
                                hzhy1234 LV 5 @WhycanService 最后由 编辑

                                @whycanservice 您好,我去掉dropbear勾选了openssh,但执行出错。

                                root@TinaLinux:/# ./etc/init.d/sshd start
                                root@TinaLinux:/# /etc/rc.common: line 128: procd_add_mdns: not found
                                Privilege separation user sshd does not exist
                                
                                root@TinaLinux:/# cat /etc/passwd
                                root:x:0:0:root:/root:/bin/ash
                                daemon:*:1:1:daemon:/var:/bin/false
                                ftp:*:55:55:ftp:/home/ftp:/bin/false
                                network:*:101:101:network:/var:/bin/false
                                nobody:*:65534:65534:nobody:/var:/bin/false
                                sshd:x:74:74:Privilege-separated
                                SSH:/usr/sbin/sshd:/sbin/nologin
                                root@TinaLinux:/# 
                                root@TinaLinux:/# ps
                                  PID USER       VSZ STAT COMMAND
                                    1 root      1056 S    /sbin/init
                                    2 root         0 SW   [kthreadd]
                                    3 root         0 SW   [kworker/0:0]
                                    4 root         0 SW<  [kworker/0:0H]
                                    5 root         0 SW   [kworker/u2:0]
                                    6 root         0 SW   [ksoftirqd/0]
                                    7 root         0 SW   [rcu_preempt]
                                    8 root         0 SW   [rcu_sched]
                                    9 root         0 SW   [rcu_bh]
                                   10 root         0 SW<  [lru-add-drain]
                                   11 root         0 SW   [kdevtmpfs]
                                   12 root         0 SW   [kworker/u2:1]
                                  321 root         0 SW   [oom_reaper]
                                  322 root         0 SW<  [writeback]
                                  324 root         0 SW<  [crypto]
                                  325 root         0 SW<  [bioset]
                                  327 root         0 SW<  [kblockd]
                                  369 root         0 SW   [kworker/0:1]
                                  377 root         0 SW   [irq/330-axp2101]
                                  426 root         0 SW   [sys_user]
                                  437 root         0 SW<  [cfg80211]
                                  443 root         0 SW<  [watchdogd]
                                  542 root         0 SW   [kswapd0]
                                  601 root         0 SW<  [SquashFS read w]
                                  632 root         0 SW   [vsync proc 0]
                                  716 root         0 SW<  [btudpwork]
                                  717 root         0 SW<  [btfwwork]
                                  719 root         0 SW   [cfinteractive]
                                  730 root         0 SW   [irq/303-sunxi-m]
                                  758 root         0 SW<  [ipv6_addrconf]
                                  760 root         0 SW<  [krfcommd]
                                  768 root         0 DW   [usb-hardware-sc]
                                  771 root         0 SW<  [bioset]
                                  772 root         0 SW   [mmcqd/0]
                                  773 root         0 SW<  [bioset]
                                  774 root         0 SW   [mmcqd/0boot0]
                                  775 root         0 SW<  [bioset]
                                  776 root         0 SW   [mmcqd/0boot1]
                                  777 root         0 SW<  [bioset]
                                  778 root         0 SW   [mmcqd/0rpmb]
                                  796 root         0 SW<  [kworker/0:1H]
                                  818 root         0 SW   [jbd2/mmcblk0p5-]
                                  819 root         0 SW<  [ext4-rsv-conver]
                                  849 root         0 SW   [jbd2/mmcblk0p7-]
                                  850 root         0 SW<  [ext4-rsv-conver]
                                  855 root         0 SW   [xradio_etf]
                                  861 root         0 SW   [xradio_proc]
                                  870 root         0 SW   [xradio_proc]
                                 1028 root      1232 S    adbd
                                 1030 root      1320 S    /usr/sbin/dbus-daemon --system
                                 1035 root      1316 S    wifi_deamon
                                 1055 root       696 S    /sbin/swupdate-progress -w
                                 1058 root      1056 S    -/bin/sh
                                 1092 root      1056 S    udhcpc -b -R
                                 1123 root      1056 R    ps
                                root@TinaLinux:/# 
                                

                                menuconfig配置如下:
                                将所有的openssh勾选了

                                A 1 条回复 最后回复 回复 引用 分享 0
                                • A
                                  ant1423 LV 2 @hzhy1234 最后由 编辑

                                  @hzhy1234 你这个是busybox init,不是prod init,make menuconfig里选一下。原因是openwrt的软件包是针对prod弄的,就像ubuntu的软件包针对systemd一样。吐槽一下tina 5.0,修改busybox,原来很方便的免配置启动全没了,失去了openwrt的软件包的大半壁江山能力

                                  A 1 条回复 最后回复 回复 引用 分享 0
                                  • A
                                    ant1423 LV 2 @ant1423 最后由 编辑

                                    @ant1423 或者你自己写启动脚本,因为openwrt的软件是针对procd写的,tina 5.0貌似没适配procd的,还是个半成品

                                    1 条回复 最后回复 回复 引用 分享 0
                                    • 1 / 1
                                    • First post
                                      Last post

                                    Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                                    行为准则 | 用户协议 | 隐私权政策