91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

嵌入式Linux內核中根文件系統構建工具Buildroot怎么用

發布時間:2021-10-22 10:01:45 來源:億速云 閱讀:337 作者:柒染 欄目:互聯網科技

嵌入式Linux內核中根文件系統構建工具Buildroot怎么用,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

Buildroot 快速入手指導

buildroot 是一款專門用來定制嵌入式 Linux 的內核和根文件系統(rootfs) 的開源工具, 非常強大兼方便, 不過對于新手來說, 過多的配置項明顯有些難度, 本文的目標就是簡要介紹這款工具, 讓新手迅速入門.

目標:

  • 1 新手需要了解的2個目錄和1個文件


  • 2 熟悉該工具的基本命令 ;


  • 3 構建出一個內核和一個根文件系統


練習:

  • 1 查看針對特定開發板的典型配置文件的選項


  • 2 利用工具自帶的配置文件生成一個 Linux 內核和根文件系統;


首先是獲取該工具, 在 github 上, 命令如下:

git clone https://github.com/buildroot/buildroot

進入目錄, 查看:

pi@rpi /opt/github/buildroot $ ls -al
total 420
drwxr-xr-x   15 root root   4096 Dec 24 21:18 .
drwxr-xr-x   73 git  git    4096 Jan  3 08:01 ..
drwxr-xr-x    2 root root   4096 Dec 24 21:15 arch
drwxr-xr-x   25 root root   4096 Dec 24 21:15 board
drwxr-xr-x   15 root root   4096 Dec 24 21:15 boot
-rw-r--r--    1 root root 146433 Dec 24 21:15 CHANGES
-rw-r--r--    1 root root  44501 Dec 24 21:16 .config
-rw-r--r--    1 root root  19111 Dec 24 21:15 Config.in
-rw-r--r--    1 root root  42879 Dec 24 21:15 Config.in.legacy
drwxr-xr-x    2 root root   4096 Dec 24 21:15 configs
-rw-r--r--    1 root root  17987 Dec 24 21:15 COPYING
-rw-r--r--    1 root root   1246 Dec 24 21:15 .defconfig
drwxr-xr-x    5 root root   4096 Dec 24 21:15 docs
drwxr-xr-x   15 root root   4096 Dec 24 21:15 fs
drwxr-xr-x    8 root root   4096 Dec 24 21:18 .git
-rw-r--r--    1 root root    125 Dec 24 21:15 .gitignore
drwxr-xr-x    2 root root   4096 Dec 24 21:15 linux
-rw-r--r--    1 root root  34899 Dec 24 21:15 Makefile
-rw-r--r--    1 root root   2432 Dec 24 21:15 Makefile.legacy
drwxr-xr-x    3 root root   4096 Dec 24 21:18 output
drwxr-xr-x 1266 root root  36864 Dec 24 21:15 package
-rw-r--r--    1 root root    972 Dec 24 21:15 README
drwxr-xr-x   11 root root   4096 Dec 24 21:15 support
drwxr-xr-x    3 root root   4096 Dec 24 21:15 system
drwxr-xr-x    5 root root   4096 Dec 24 21:15 toolchain
pi@rpi /opt/github/buildroot $

1. 新手需要了解的2個目錄和1個文件

先說目錄:

  • 目錄1: `configs`


一個是 configs 目錄, 存放著工具提供的一些特定系統的構建配置, 換句話說就是一些使用比較廣泛的 Linux 嵌入式系統的構建配置文件, 例如, 我們熟悉的樹莓派1 raspberrypi_defconfig 和2 raspberrypi2_defconfig 的構建配置文件就在其中, 我們可以看一下內容:

pi@rpi /opt/github/buildroot $ ls ./configs
altera_sockit_defconfig        calao_usb_a9g20_lpw_defconfig        minnowboard_defconfig              qemu_ppc_virtex_ml507_defconfig
armadeus_apf27_defconfig       ci20_defconfig                       minnowboard_max_defconfig          qemu_sh5_r2d_defconfig
armadeus_apf28_defconfig       cubieboard2_defconfig                mx53loco_defconfig                 qemu_sparc_ss10_defconfig
armadeus_apf51_defconfig       cubieboard_defconfig                 nitrogen6x_defconfig               qemu_x86_64_defconfig
armadeus_apf9328_defconfig     freescale_imx28evk_defconfig         olimex_imx233_olinuxino_defconfig  qemu_x86_defconfig
arm_foundationv8_defconfig     freescale_imx31_3stack_defconfig     openblocks_a6_defconfig            qemu_xtensa_lx60_defconfig
at91rm9200df_defconfig         freescale_imx6dlsabreauto_defconfig  pandaboard_defconfig               qmx6_defconfig
at91sam9260dfc_defconfig       freescale_imx6dlsabresd_defconfig    qemu_aarch74_virt_defconfig        raspberrypi2_defconfig
at91sam9260eknf_defconfig      freescale_imx6qsabreauto_defconfig   qemu_arm_nuri_defconfig            raspberrypi_defconfig
at91sam9261ek_defconfig        freescale_imx6qsabresd_defconfig     qemu_arm_versatile_defconfig       raspberrypi_dt_defconfig
at91sam9263ek_defconfig        freescale_imx6sololiteevk_defconfig  qemu_arm_vexpress_defconfig        riotboard_defconfig
at91sam9g20dfc_defconfig       freescale_mpc8315erdb_defconfig      qemu_microblazebe_mmu_defconfig    s6lx9_microboard_defconfig
at91sam9g45m10ek_defconfig     freescale_p1010rdb_pa_defconfig      qemu_microblazeel_mmu_defconfig    sheevaplug_defconfig
atmel_xplained_defconfig       freescale_p2020ds_defconfig          qemu_mips64el_malta_defconfig      telit_evk_pro3_defconfig
beaglebone_defconfig           gnublin_defconfig                    qemu_mips64_malta_defconfig        ts5x00_defconfig
calao_qil_a9260_defconfig      integrator926_defconfig              qemu_mipsel_malta_defconfig        udoo_quad_defconfig
calao_snowball_defconfig       kb9202_defconfig                     qemu_mips_malta_defconfig          wandboard_defconfig
calao_tny_a9g20_lpw_defconfig  lego_ev3_defconfig                   qemu_ppc64_pseries_defconfig       zedboard_defconfig
calao_usb_a9260_defconfig      loongson1c_smartloong_defconfig      qemu_ppc_g3beige_defconfig
calao_usb_a9263_defconfig      mini2440_defconfig                   qemu_ppc_mpc8544ds_defconfig
pi@rpi /opt/github/buildroot $
  • 目錄2: `output`


另一個是 output 目錄, 存放著你構建好之后的輸出, 在 output/images/ 目錄下放著構建好的內核和根文件系統, 我們可以在開始構建之前看看該目錄的結構:

pi@rpi /opt/github/buildroot $ tree ./output
./output
└── build
    └── buildroot-config
        ├── conf.o
        ├── lxdialog
        │   ├── checklist.o
        │   ├── inputbox.o
        │   ├── menubox.o
        │   ├── textbox.o
        │   ├── util.o
        │   └── yesno.o
        ├── mconf
        ├── mconf.o
        ├── zconf.hash.c
        ├── zconf.lex.c
        └── zconf.tab.o

3 directories, 12 files
pi@rpi /opt/github/buildroot $
  • 文件: `.config`


一個文件就是 .config, 它就是構建時使用的配置文件, 舉個例子, 如果我們打算使用工具自帶的配置文件來構建樹莓派2的內核和根文件系統, 那么首先把它從 configs 目錄拷出來, 覆蓋掉當前目錄下的 .config 文件, 命令如下:

cp ./configs/ raspberrypi2_defconfig ./.config

講解了簡單的2個目錄和1個文件, 接下來說一下基本命令

2. 熟悉該工具的基本命令

buildroot 基本的命令就是 make, 對于新手來說只需要執行2次:

  • 第1次帶參數執行用來定制系統:


定制系統的命令為:

make menuconfig

執行后會啟動一個配置菜單, 進去之后可以根據你自己的需要增加或裁剪系統功能, 然后選擇保存, 所有的配置會被保存為當前目錄下的 .config 文件.

執行界面就是這個樣子: 嵌入式Linux內核中根文件系統構建工具Buildroot怎么用

也可以通過 load 選項加載工具自帶的配置文件, 看看典型配置是什么樣的.

  • 第2次不帶參數執行用來構建系統:


構建命令為:

make

會構建比較長的時間, 構建完成后可以查看剛才說過的 ./output/images/ 目錄, 恰好我剛剛完成一次對龍芯智龍開源開發板的根文件系統構建, 我們可以看看:

git@debian:/opt/github/pengphai-buildroot$ ls -al ./output
總用量 28
drwxr-xr-x  6 git git 4096 8月   6 06:51 .
drwxr-xr-x 16 git git 4096 8月   6 06:51 ..
drwxr-xr-x 54 git git 4096 8月   6 07:36 build
drwxr-xr-x  5 git git 4096 8月   6 07:12 host
drwxr-xr-x  2 git git 4096 8月   6 07:36 images
lrwxrwxrwx  1 git git   81 8月   6 06:51 staging -> /opt/github/pengphai-buildroot/output/host/usr/mipsel-buildroot-linux-gnu/sysroot
drwxr-xr-x 19 git git 4096 8月   6 07:36 target
git@debian:/opt/github/pengphai-buildroot$ ls -al ./output/images
總用量 22956
drwxr-xr-x 2 git git     4096 8月   6 07:36 .
drwxr-xr-x 6 git git     4096 8月   6 06:51 ..
-rw------- 1 git git 23498112 8月   6 07:36 rootfs.yaffs2img
git@debian:/opt/github/pengphai-buildroot$

3. 構建出一個內核和一個根文件系統

命令很簡單, 我們以樹莓派2為例, 直接使用工具自帶的配置文件, 命令如下:

pi@rpi /opt/github/buildroot $ sudo cp ./configs/raspberrypi2_defconfig ./config
pi@rpi /opt/github/buildroot $ sudo make

我是在樹莓派2上執行的構建, 所以應該會有一個漫長的構建過程

===補充說明, 剛發現樹莓派2的配置文件還有很多項沒配置, 需要用戶選擇, 后續我寫一個完全配置好的, 這個例子只會讓新手疑惑

看完上述內容,你們掌握嵌入式Linux內核中根文件系統構建工具Buildroot怎么用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

咸宁市| 唐河县| 大悟县| 当雄县| 宁城县| 车致| 扶沟县| 台中市| 株洲县| 神木县| 嘉兴市| 广河县| 双辽市| 湘乡市| 吴川市| 堆龙德庆县| 黔江区| 黑水县| 汶川县| 广元市| 会理县| 招远市| 泰和县| 徐汇区| 石家庄市| 大庆市| 平陆县| 陕西省| 清远市| 松阳县| 武清区| 攀枝花市| 韶关市| 卓资县| 西乌珠穆沁旗| 莱州市| 九台市| 德庆县| 尼勒克县| 仙居县| 枣阳市|