<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                [TOC] # rootfs 是一個系統 kernel需要loader來引導,init啟動服務,udev動態創建/dev/node,控制登錄用戶登錄,動態庫。。。 ## Debian https://wiki.debian.org/Arm64Port 不知道怎么boot,Pi 有一個32bit的版本,非常非常慢,包很全。 ## Buildroot 網站漂亮了,可以編譯一個rootfs,chroot玩一玩。沒有一個特定適用的領域,不容易推廣。 https://buildroot.org/downloads/buildroot-2017.08.1.tar.bz2 ## Yocto 大公司合伙搞的,python寫的,任務并行。比較重。 ## OpenWrt/LEDE buildroot在soho路由器的衍化,發展得很好了。自己開發的procd/ubus一套。國內網下包巨慢。看來要等兩天編完了,再更新下。 `git clone https://github.com/lede-project/source.git --depth=1` ### opkg 包管理 `opkg` 用來打 `.ipk`, 包的信息也打到文件系統里。單獨升一個ipk也很方便的。 ~~~ build_dir/target-aarch64_generic_musl/root-layerscape/usr/lib/opkg/ cat build_dir/target-aarch64_generic_musl/root-layerscape/usr/lib/opkg/status Package: opkg Version: 2017-07-28-4bd8601e-1 Depends: libc, uclient-fetch, libpthread, libubox Status: install user installed Architecture: aarch64_generic Conffiles: /etc/opkg.conf b73c0a02cb7bc300b2e6c7c29e8e6d38bdb6ded314319e89be3b352f59fff5ab /etc/opkg/customfeeds.conf 61d1f3aa62fe977614ed0c2f0ad3b2ee2f7b451bfb34812071d86d31a4d43d4a Installed-Time: 1510271590 ~~~ ### 從目錄看結構 一個基本的rootfs不需要多少東西,有busybox,主要命令也支持得很不錯。用一個只讀的文件系統,疊加一個讀寫文件系統,合成一個讀寫文件系統,還是很有用的。否則就用link,非常不方便。 ~~~ # process 1 ?= procd, handle hotplug event /sbin/init # /lib 各種 .so lib/libblobmsg_json.so lib/libc.so lib/libfstools.so lib/libjson_script.so lib/libsetlbf.so lib/libubox.so lib/libubus.so lib/libuci.so lib/libvalidate.so # init scripts etc/rc.d/S00sysfixtime etc/rc.d/S10system etc/rc.d/S12log etc/rc.d/S50cron etc/rc.d/S95done etc/rc.d/S98gpio_switch etc/rc.d/S99urandom_seed etc/rc.d/S10boot etc/rc.d/S11sysctl etc/rc.d/S20network etc/rc.d/S50dropbear etc/rc.d/S96led etc/rc.d/S98sysntpd # busybox # ubus/uci/fs overlay/web framework ~~~ ### build系統 1. toolchain。 2. 包管理,編譯時和運行時,最好都管上。 3. library, header file 編譯時的管理。 4. 打包rootfs,去掉不必要的文件,支持各種格式。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看