當前位置:首頁 » 編程軟體 » buildroot編譯文件系統

buildroot編譯文件系統

發布時間: 2023-01-05 05:19:50

㈠ buildroot構建根文件系統

Buildroot是linux平台上一個構建嵌入式Linux系統的框架。整個Buildroot是由Makefile腳本和Kconfig配置文件構成的。本文使用buildroot為freescale imx287 開發板製作根文件系統。
參考 https://www.cnblogs.com/kele-dad/p/8231434.html

Buildroot本身提供構建流程的框架,開發者按照格式寫腳本,提供必要的構建細節,配置整個系統,最後自動構建出你的系統。

1.主板外觀及基本介面分布

2.硬體資源

查看buildroot包含的開發板配置

選擇imx28默認配置

編譯完成,在 output 目錄下可以得到生成的文件系統和鏡像文件

在images目錄下有燒錄鏡像文件

1)增加/dev/null 文件

Buildroot 編譯後,生成的文件系統中通常沒有/dev/null 文件,而系統啟動通常是需要的,可以自行創建:

2)增加/dev/console文件

對應於System configuration-「Run a gretty after root」選擇的調試埠

3)再次編譯builtroot

將生成的rootfs.tar.bz2文件或rootfs.ubifs文件燒錄到處理器,進入系統後即可以通過shell命令操作,已有的shell命令參考output/bin/目錄下的鏈接文件。

開機成功進入根文件系統

因為在System configuration中把root passwd設置為root,所以用戶名和密碼都是root。

㈡ buildroot成功後如何編譯Qt應用程序

首先得把我們在X86機上調好的程序進行交叉編譯,如果在X86上都沒有通過的話。。那就不用交叉編譯了,(肯定是通不過的),還是到正題吧,設置好環境變數,我們用以用echo 來查看環境變數,echo $TMAKEPATH ,如果返回的不是.../qws/linux-arm-g++ 的字元的話,我們一定得從新設置,
export TMAKEPATH=/tmake 的安裝路徑/qws/linux-arm-g++ ,同時QTDIR一定得要指定QTE的安裝路徑,設置過程如下:
export QTDIR=...../qt-2.3.7
以上環境設置好後,我們可以使用tmake來生成Makefile,注意這里我們是用tmake,而不是用qmake(注意),tmake工具在tmake包裡面。 具體做法,我們可以在命令行下打:
tmake -o Makefile 工程名.pro
這樣我們就新生成了一個Makefile文件,下一步,我們要打開這個文件,做一些小的修改
1: 將LINK=arm-linux-gcc 改為:LINK=arm-linux-g++
2:將LIBS=$(SUBLIBS) -L$(QTDIR)/lib -lm -lqte這句話改為:
LIBS=$(SUBLIBS) -L/opt/gcc-2.3.2-glibc-3.3.2/lib -L$(QTDIR)/lib -lm -lqte
加上你的交叉編譯的庫。
最後我們可以make了,一個可以在您的板子上可以運行的二進制文件產生了。linux

㈢ 使用buildroot編譯arm架構的linux內核,使其支持usb攝像頭,並使用qemu虛擬運行

#沒有吧ext* 和 VFS編進去吧

cd/usr/src/linux
makemenuconfig
#選擇ext4和VFS,在FileSystem里,很好找
make;makemole_install;makeinstall

㈣ buildroot如何來建立linux下交叉編譯

。。。不用工具,手動編譯的好不好?
我手動編譯arm-linux-gcc4.5.1成功,一個用的是glib,一個用的是newlib,給你個腳本參考吧。
注意各個軟體包都是配套的。

㈤ 如何在TI的AM335x上面使用SGX加速的有OpenGL支持的QT

TI官方的指南請看這里,因為發布時間的關系,這裡面已經有很多和最新的軟體包不匹配的地方。經過我的努力,我把這個指南中間復雜的部分給做到Buildroot裡面去了,基本上實現了「傻瓜式」編譯,可通過菜單選擇,簡單地實現QT下使用SGX硬體加速的OpenGL。

由於本文還涉及到了SGX硬體驅動程序模塊的編譯,所以看上去還會比較長,但這部分內容沒有什麼難度。轉載請註明來自EE小站,[email protected]

簡單的梳理下:
前提是U-boot、內核、文件系統都搞利索了,板子能啟動了
TI的Wiki提供了U-boot和內核的說明,地址點這里。
TI的SDK里提供了製作好的文件系統,但是太龐大了,可以下載Buildroot自己做一個。
下載我做的Buildroot補丁,和TI圖形SDK
補丁的地址在這里。
這個補丁是我給Buildroot 2013.05做的,與之相配的TI圖形SDK在這里,下「Graphics_SDK_setuplinux_4_10_00_01_BinOnly.bin」就可以。
應該2013.05之後一段時間Buildroot版本都可以使用這個補丁。
用SDK編譯內核模塊
可以參照TI的指南,地址點這里。也可以直接看本文。
用Buildroot製作根文件系統
具體過程如下:
假設Graphics_SDK_setuplinux_4_10_00_01_BinOnly.bin下載到了/home/c,那麼
~ # cd /home/c
/home/c # chmod 744 ./Graphics_SDK_setuplinux_4_10_00_01_BinOnly.bin
/home/c # ./Graphics_SDK_setuplinux_4_10_00_01_BinOnly.bin
會出來一個交互的安裝界面,安裝的時候選擇「8.x」那項(因為處理器是AM335x),並且把SDK安裝到,例如/home/c/core335x_bsp/graphics_sdk_4_10_00_01
安裝完後,打開/home/c/core335x_bsp/graphics_sdk_4_10_00_01/Rules.make
假設你的ARM交叉編譯器安裝在/usr/local/arm/4.7.3-2,前綴是arm-none-linux-gnueabi-,你的內核在/home/c/core335x_bsp/linux-3.2.21,那麼就Rules.make中的內容修改成這樣
# Set home area (ex /home/user/)
HOME=/home/c/core335x_bsp
# Set Toolchain path (ex /home/user/toolchain/arago-2011.09/armv7a)
CSTOOL_DIR=/usr/local/arm/4.7.3-2
# Set Tool chain prefix (ex arm-arago-linux-gnueabi- )
CSTOOL_PREFIX=arm-none-linux-gnueabi-
# Set kernel installation path ( ex /home/user/linux-04.00.01.13 )
KERNEL_INSTALL_DIR=/home/c/core335x_bsp/linux-3.2.21
# Set Target filesystem path ( ex /home/user/targetfs )
TARGETFS_INSTALL_DIR=$(DESTDIR)
# Set installation folder
GRAPHICS_INSTALL_DIR=$(HOME)/graphics_sdk_4_10_00_01
然後就可以編譯了
/home/c # cd core335x_bsp/graphics_sdk_4_10_00_01
/home/c/core335x_bsp/graphics_sdk_4_10_00_01 # make DESTDIR=/home/c/nfsroot OMAPES=8.x
假設你的根文件系統在/home/c/nfsroot,那麼請確保有/home/c/nfsroot/etc和/home/c/nfsroot/etc/init.d這兩個目錄,否則安裝時候會出錯,接下來安裝
/home/c/core335x_bsp/graphics_sdk_4_10_00_01 # make DESTDIR=/home/c/nfsroot OMAPES=8.x install

這樣,SDK庫就編譯好了,接下來把內核的模塊安裝到文件系統里,假設內核在/home/c/core335x_bsp/linux-3.2.21,已經配置並且編譯好了
/home/c/core335x_bsp/graphics_sdk_4_10_00_01 # cd /home/c/core335x_bsp/linux-3.2.21
/home/c/core335x_bsp/linux-3.2.21 # make ARCH=arm moles_install INSTALL_MOD_PATH=/home/c/nfsroot
然後需要把內核驅動模塊增加到依賴表中,位置在/home/c/nfsroot/lib/moles/3.2.21/kernel/drivers/moles.dep,在裡面增加這兩行:
extra/omaplfb.ko:
extra/pvrsrvkm.ko:
接下來就可以用Buildroot製作文件系統了,假設Buildroot的壓縮包buildroot-2013.05.tar.bz2下載到了/home/c/core335x_bsp,我做的Buildroot補丁buildroot-am335x.patch下載到了/home/c/core335x_bsp
/home/c/core335x_bsp/linux-3.2.21 # cd /home/c/core335x_bsp
/home/c/core335x_bsp # tar xf buildroot-2013.05.tar.bz2
/home/c/core335x_bsp # cp buildroot-am335x.patch buildroot-2013.05
/home/c/core335x_bsp # cd buildroot-2013.05
/home/c/core335x_bsp/buildroot-2013.05 # patch -p1 < buildroot-am335x.patch
/home/c/core335x_bsp/buildroot-2013.05 # make menuconfig
然後就可以進行配置,QT在Package Selection for the target > Graphic libraries and applications (graphic/text) > Qt,AM335x的OpenGL支持設置選項在Qt下的Graphics drivers,必須先選中Linux Framebuffer,會出現AM335x SGX OpenGL Dirver,選中並在下方輸入圖形SDK的路徑,例如/home/c/core335x_bsp/graphics_sdk_4_10_00_01,其他的選項按需選擇即可,接下來就可以編譯

/home/c/core335x_bsp/buildroot-2013.05 # make

編譯過程會自動下載所需的各種軟體包,如果沒有選中Qt下的Approve free license,中間會提示選擇授權類型,編譯完成之後,將映像釋放到根文件系統里
/home/c/core335x_bsp/buildroot-2013.05 # tar xf output/image/rootfs.tar -C /home/c/nfsroot

之後,打開/home/c/nfsroot/etc/init.d/powervr.ini,把這裡面改成
[default]
WindowSystem=libpvrQWSWSEGL.so
將/home/c/nfsroot下的文件系統掛載到目標板上,啟動以後,輸入用戶名root登陸,運行
# /etc/init.d/335x-demo
# mv /etc/init.d/rc.pvr /etc/init.d/S99powervr
至此,這個文件系統就支持QT使用SGX硬體加速的OpenGL了。
如果你在配置QT的時候選擇了Compile and install demos and examples (with code),那麼你可以找到/home/c/core335x_bsp/buildroot-2013.05/output/build/qt-4.8.4/examples/opengl/hellogl_es2/hellogl_es2這個文件,把它拷貝到根文件系統里,運行
# hellogl_es2 -qws -display powervr
可以檢驗是否可以正常工作。
需要說明一下,為了讓QT支持OpenGL,AM335x圖形處理器的廠家(不是TI,是Imagination Technologies)提供的插件程序讓QT的動態鏈接庫禁止滑鼠游標顯示。現象就是,雖然看不到滑鼠,但是還可以用。這個目前還沒有解決方法,因為貌似圖形處理器是直接操作Frame Buffer的,有滑鼠估計程序不好寫,性能也會下降吧。如果你要用滑鼠的話,需要自己寫個顯示滑鼠游標的程序。
轉載,僅供參考,祝你愉快,滿意請採納。

㈥ buildroot製作文件系統時,如何將output/target/lib 中的*.so庫文件文件類型設置為 not stripped

cygwin下編譯buildroot時,估計是最後編譯生成並安裝對應的mpfr的庫文件:
cygmpfr-4.dll
然後拷貝到了:
buildroot的output/host/usr/bin目錄:
/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/bin
然後由於後面./configure配置libtool時,傳入的PATH中,
/home/CLi/develop/buildroot/buildroot-2013.05/output/host/usr/bin

㈦ buildroot 添加一個文件夾單獨編譯

你好,指定壓縮包內核做頭文件,再指定壓縮包內核做編譯源碼,buildroot是Linux平台上一個構建嵌入式Linux系統的框架。整個Buildroot是由Makefile腳本和Kconfig配置文件構成的。你可以和編譯Linux內核一樣,通過buildroot menuconfig配置,編譯出一個完整的可以直接燒寫到機器上運行的Linux系統軟體(包含boot、kernel、rootfs以及rootfs中的各種庫和應用程序)。

㈧ am335x能使用19.2M的時鍾做uboot SPL USBETH引導嗎

TI官指南請看發布間關系面已經新軟體包匹配經我努力我指南間復雜部給做Buildroot面基本實現傻瓜式編譯通菜單選擇簡單實現QT使用SGX硬體加速OpenGL

由於本文涉及SGX硬體驅程序模塊編譯所看比較部內容沒難度轉載請註明自EE站[email protected]

簡單梳理:
前提U-boot、內核、文件系統都搞利索板能啟
TIWiki提供U-boot內核說明址點
TISDK提供製作文件系統太龐載Buildroot自做
載我做Buildroot補丁TI圖形SDK
補丁址
補丁我給Buildroot 2013.05做與相配TI圖形SDKGraphics_SDK_setuplinux_4_10_00_01_BinOnly.bin
應該2013.05段間Buildroot版本都使用補丁
用SDK編譯內核模塊
參照TI指南址點直接看本文
用Buildroot製作根文件系統
具體程:
假設Graphics_SDK_setuplinux_4_10_00_01_BinOnly.bin載/home/c
~ # cd /home/c
/home/c # chmod 744 ./Graphics_SDK_setuplinux_4_10_00_01_BinOnly.bin
/home/c # ./Graphics_SDK_setuplinux_4_10_00_01_BinOnly.bin
交互安裝界面安裝候選擇8.x項(處理器AM335x)並且SDK安裝例/home/c/core335x_bsp/graphics_sdk_4_10_00_01
安裝完打/home/c/core335x_bsp/graphics_sdk_4_10_00_01/Rules.make
假設ARM交叉編譯器安裝/usr/local/arm/4.7.3-2前綴arm-none-linux-gnueabi-內核/home/c/core335x_bsp/linux-3.2.21Rules.make內容修改
# Set home area (ex /home/user/)
HOME=/home/c/core335x_bsp
# Set Toolchain path (ex /home/user/toolchain/arago-2011.09/armv7a)
CSTOOL_DIR=/usr/local/arm/4.7.3-2
# Set Tool chain prefix (ex arm-arago-linux-gnueabi- )
CSTOOL_PREFIX=arm-none-linux-gnueabi-
# Set kernel installation path ( ex /home/user/linux-04.00.01.13 )
KERNEL_INSTALL_DIR=/home/c/core335x_bsp/linux-3.2.21
# Set Target filesystem path ( ex /home/user/targetfs )
TARGETFS_INSTALL_DIR=$(DESTDIR)
# Set installation folder
GRAPHICS_INSTALL_DIR=$(HOME)/graphics_sdk_4_10_00_01
編譯
/home/c # cd core335x_bsp/graphics_sdk_4_10_00_01
/home/c/core335x_bsp/graphics_sdk_4_10_00_01 # make DESTDIR=/home/c/nfsroot OMAPES=8.x
假設根文件系統/home/c/nfsroot請確保/home/c/nfsroot/etc/home/c/nfsroot/etc/init.d兩目錄否則安裝候錯接安裝
/home/c/core335x_bsp/graphics_sdk_4_10_00_01 # make DESTDIR=/home/c/nfsroot OMAPES=8.x install

SDK庫編譯接內核模塊安裝文件系統假設內核/home/c/core335x_bsp/linux-3.2.21已經配置並且編譯
/home/c/core335x_bsp/graphics_sdk_4_10_00_01 # cd /home/c/core335x_bsp/linux-3.2.21
/home/c/core335x_bsp/linux-3.2.21 # make ARCH=arm moles_install INSTALL_MOD_PATH=/home/c/nfsroot
需要內核驅模塊增加依賴表位置/home/c/nfsroot/lib/moles/3.2.21/kernel/drivers/moles.dep面增加兩行:
extra/omaplfb.ko:
extra/pvrsrvkm.ko:
接用Buildroot製作文件系統假設Buildroot壓縮包buildroot-2013.05.tar.bz2載/home/c/core335x_bsp我做Buildroot補丁buildroot-am335x.patch載/home/c/core335x_bsp
/home/c/core335x_bsp/linux-3.2.21 # cd /home/c/core335x_bsp
/home/c/core335x_bsp # tar xf buildroot-2013.05.tar.bz2
/home/c/core335x_bsp # cp buildroot-am335x.patch buildroot-2013.05
/home/c/core335x_bsp # cd buildroot-2013.05
/home/c/core335x_bsp/buildroot-2013.05 # patch -p1 < buildroot-am335x.patch
/home/c/core335x_bsp/buildroot-2013.05 # make menuconfig
進行配置QTPackage Selection for the target > Graphic libraries and applications (graphic/text) > QtAM335xOpenGL支持設置選項QtGraphics drivers必須先選Linux Framebuffer現AM335x SGX OpenGL Dirver選並輸入圖形SDK路徑例/home/c/core335x_bsp/graphics_sdk_4_10_00_01其選項按需選擇即接編譯

/home/c/core335x_bsp/buildroot-2013.05 # make

編譯程自載所需各種軟體包沒選QtApprove free license間提示選擇授權類型編譯完映像釋放根文件系統
/home/c/core335x_bsp/buildroot-2013.05 # tar xf output/image/rootfs.tar -C /home/c/nfsroot

打/home/c/nfsroot/etc/init.d/powervr.ini面改
[default]
WindowSystem=libpvrQWSWSEGL.so
/home/c/nfsroot文件系統掛載目標板啟輸入用戶名root登陸運行
# /etc/init.d/335x-demo
# mv /etc/init.d/rc.pvr /etc/init.d/S99powervr
至文件系統支持QT使用SGX硬體加速OpenGL
配置QT候選擇Compile and install demos and examples (with code)找/home/c/core335x_bsp/buildroot-2013.05/output/build/qt-4.8.4/examples/opengl/hellogl_es2/hellogl_es2文件拷貝根文件系統運行
# hellogl_es2 -qws -display powervr
檢驗否工作
需要說明讓QT支持OpenGLAM335x圖形處理器廠家(TIImagination Technologies)提供插件程序讓QT態鏈接庫禁止滑鼠游標顯示現象雖看滑鼠用目前沒解決貌似圖形處理器直接操作Frame Buffer滑鼠估計程序寫性能降吧要用滑鼠需要自寫顯示滑鼠游標程序

㈨ 交叉編譯後的python 怎麼使用第三方庫

剛遇到一樣的問題,解決之後順手回答下你。
setup.py無法安裝是因為卡在build這一步,嵌入式linux系統里為減少體積去除了kernel 頭文件之類的,所以理論上補全後可以直接在系統里setup.py安裝,但是這種方法並不適合嵌入式linux系統。
我的解決方法是在編譯根文件系統的時候順便把需要的第三方庫集成進去。buildroot 2015.05版已經有python-package框架可用,更早版本的話可以自己按照安裝步驟寫.mk來集成。也 可以在buildroot里交叉編譯好這個第三方庫,然後拷到文件系統里。

㈩ 在ubuntu 10.04下編譯buildroot-v23434提示stdio.h:286: error: expected declaration specifiers錯誤

下載buildroot穩定版本V2012.02試試

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:593
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:888
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:581
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:765
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:684
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1012
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:255
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:113
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:806
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:712