uclinux 下各個資料夾的作用
uClinux:
vendors: 目標處理器相關,包括指令碼,該處理器的預設的配置檔案,在這裡增加對目標處理器的支援
openswan: IPsec相關
config: 配置核心 make menuconfig&&xconfig&&config相關指令碼
scripts/lxdialog: 實現核心配置時的選單、訊息(配置選擇框)等的指令碼檔案
scripts/Menuconfig: (make menuconfig)實現配置選項的選擇、取消、設定為模組、幫助工
tools: ucfront:gcc(ucfront-gcc,ucfront-g++)和ld(ucfront-ld)
bin: 產生flash image檔案相關
autoconfig.h: 預設的make menuconfig的配置檔案
config.arch: 由目標處理器產生的config檔案
Makefile: 預設編譯的是2.6核心(在make menuconfig裡可選)
bin: flash相關
lib: 庫資料夾:*.c、*.h
include: 指向lib下的*.h標頭檔案
user: 使用者應用程式,在這裡增加應用程式
編譯uClinux:
在http://www.uclinux.org/pub/uClinux/arm-elf-tools/ 下載arm-elf-tools-20030314.sh(./arm-elf-tools-20030314.sh出錯,不知道為什麼,好象跟gzip有點關係),改為從(這個工具是把gcc編譯的檔案格式轉換成uCLinux可執行的檔案格式flat用的), 解壓後替換原來/usr/local(注意備份原來的local目錄),這個包的功能是安裝工具鏈。
在http://www.uclinux.org/pub/uClinux/dist/ 下載uClinux-dist-20070130.tar.gz
執行tar zxvf uClinux-dist-20041215.tar.gz並進入uClinux-dist目錄。
make menuconfig(在此選擇目標處理器和核心版本,配置核心和應用程式)
make dep (2.6核心好象不用)
make
增加glibc庫:
只需在uClinux-dist目錄下增加一目錄glibc,把相關的原始碼檔案放在該目錄中。
如何增加應用程式:
1、user/Makefile : 增加如下一行
dir_$(CONFIG_USER_NEWAPP_NEWAPP) += newapp
2、config/Configure.help:增加如下一行
CONFIG_USER_NEWAPP_NEWAPP
This program does fooey things to your bars.
3、config/config.in : 增加下列內容
bool 'newapp' CONFIG_USER_NEWAPP_NEWAPP
bool 'bar' CONFIG_USER_NEWAPP_BAR (如果user/newapp包含有make 'newapp'和'bar'的程式碼,就加上這句)
4、usr/newapp/Makefile : 內容如下(newapp下只有一個可執行檔案的情況)
EXEC = newapp
OBJS = newapp.o
all : $(EXEC)
$(EXEC): $(OBJS)
$(CC) $(LDFLAGS) -o
romfs :
$(ROMFSINST) /bin/$(EXEC)
clean :
-rm -f $(EXEC) *.elf *.gdb *.o
arm-elf-tools生成的檔案是flat格式,一種2進位制檔案格式
arm-linux-tools 生成的檔案格式是elf,一種可以在x86體系下執行的可執行檔案格式。
安裝arm-elf-tools-20030314.sh(以root身份)
./arm-elf-tools-20030314.sh
If you get the error message 'tail: cannot open `+43' for reading: No such file or directory' when installing, change line 39 from:
tail +${SKIP} ${SCRIPT} | gunzip | tar xvf -
to:
tail -n+${SKIP} ${SCRIPT} | gunzip | tar xvf -
根目錄下的Makefile檔案:
make menuconfig項執行流程:
首先讀入根目錄下的config.in檔案,該檔案的作用是:在敲入make menuconfig之後,出現選擇vendor,選定目標處理器後,再選擇對應目標的不同型號的產品,選擇核心版本、LIBC型別、匯入、匯出配置檔案及其預設的值。
然後讀入/config/script/lxdialog資料夾的內容,進行選單,選項框等的設定。
最後讀入的是/config/script/Menuconfig檔案,配置核心,包括三態(*,空,M),選項幫助(呼叫的是/config/Configure.help檔案),檢視readme(/config/script/README.Menuconfig檔案),匯入、匯出配置檔案。
儲存核心配置,執行/config/setconfig設定預設配置。
make操作時會自動完成核心、C庫、應用程式的編譯。
uClibc/libc/sysdeps/linux
與uClibc關聯的目標處理器型別。If want to port uClibc to some new Linux architecture(mips,etc),this is the place to add that support.
uclinux/vendors/config:
對應各種平臺的編譯器、聯結器,彙編器,CC、CXX
在linux特定版本目錄下(如linux-2.6.x)配置特定目標處理器:
make arch=arm menuconfig
/uclinux-dist/tools/ucfront/ucfront.c:
查詢編譯器,查詢GCC檔案,新增共享庫相關函式實現。
.PHONY : clean
.PHONY表示clean是偽檔案,在Makefile檔案中,make時不會自動執行,make clean時才執行。
檢視包含特定字串的檔案:
find /workshop/uclinux -print |xargs grep CROSS_COMPILE 或
find / -name "*" -exec grep " CROSS_COMPILE " {} /; -print
檢視檔案佔用空間:
du -h 可檢視檔案、目錄的佔用空間
df 檢視已掛載的檔案系統的空間使用情況
sh-linux-tools-20021008.tar.gz:
HITACHI
I386-linux-tools-20070808.tar.gz:
Soekris
M68k-elf-tools-20061214.sh:
SnapGear
Sparc-elf-tools-.tar.gz:
LEON-TSIM
Vendor目錄下的目標處理器由特定交叉工具鏈來編譯
步驟(不直接使用make):
1. make menuconfig
2. make dep:只有第一次編譯的時候需要
3. make lib_only :編譯uclibc
4. make user_only :編譯應用程式
5. make romfs :組織成根檔案系統
6. make image :生成romfs的映象檔案和linux的映象檔案
7. make linux :編譯linux核心,需要第6步生成的romfs.o檔案
8. make image :得到uclinux可執行檔案的映象
可用的交叉工具鏈:
www.snapgear.org
相關推薦
uclinux 下各個資料夾的作用
uClinux:vendors: 目標處理器相關,包括指令碼,該處理器的預設的配置檔案,在這裡增加對目標處理器的支援openswan: IPsec相關config: 配置核心 make menuconfig&&xconfig&&config相關
liunx根目錄下各個資料夾作用
linux根目錄下各資料夾的作用 /bin 二進位制可執行命令 /dev 裝置特殊檔案 /etc 系統管理和配置檔案 /etc/rc.d 啟動的配置檔案和指令碼 /home 使用者主目錄的基點,比如使用者user的主目錄就是/home/user,
linux根目錄下各個資料夾的作用
經常會忘記linux根目錄各個檔案的作用,所以記下來以備參考。 /bin: 存放最常用命令; /sbin : 該目錄用來存放系統管理員使用的管理程式 /boot : 啟動Linux的核心檔案; /cdrom : 關於光碟機的,沒有為空; /dev :裝置檔案;
tomcat目錄下各個資料夾的作用
1、開啟tomcat安裝目錄 bin目錄存放的是存放可執行程式的目錄 其次往下看common資料夾,這個是做什麼用的呢,common資料夾是存放公共jar包的 再看conf資料夾,這個是做什麼用的
Linux檢視某目錄下各個資料夾的大小
df -h 命令檢視磁碟剩餘空間 du -h –max-depth=1 注意:max之前有兩個- -h表示檔案大小單位為G –max-depth=1表示深度為1,即代表當前目錄下一級資料
Android系統根目錄下的各個資料夾的作用與區別介紹
· 介紹 作為一位android開發者,我們怎麼能不瞭解android的系統目錄呢?通過對android系統的學習,我們可以藉助android studio的模擬器檢視工具,進入android手機系統目錄來檢視各個系統檔案。下面我們來學習如何進入系統目錄以及系統
【phpcms-v9】模型欄位資料夾下各個檔案的作用
比如:文章模型下的時間和日期模型欄位-datatime,與當前datetime模型欄位相關的檔案都在phpcms/content/fields/datetime/資料夾下 1.phpcms/content/fields/datetime/field_add_fo
Android Studio 各個資料夾的作用和控制元件作用、基本語句
一、各個資料夾下存放的東西 1、src :----包----存放java原始碼 2、gen:---自動生成的配置檔案 3、Android 4.4.2:包含android.jar檔案。這是一個java歸檔檔案,其中包含構建應用程式所需的所有android SDK庫(views,
linux下各主要資料夾作用
包含了幾乎所的檔案目錄。相當於中央系統。進入的最簡單方法是:cd /。 /boot 載入程式,核心等存放的目錄 這個目錄,包括了在引導過程中所必需的檔案。在最開始的啟動階段,通過載入程式將核心載入到記憶體,完成核心的啟動(這個時候,虛擬檔案系統還不
Linux各個資料夾的主要作用
linux下的檔案結構,看看每個資料夾都是幹嗎用的 /bin 二進位制可執行命令 /dev 裝置特殊檔案 /etc 系統管理和配置檔案 /etc/rc.d 啟動的配置檔案和指令碼 /home 使用者主目錄的基點,比如使用者user的主目錄就是/home/user,可以
linux中根目錄下各個目錄的作用
位置 http 定義 光盤 普通用戶 留下 執行 加固 option /bin 二進制可執行命令。該目錄下存放著普通用戶的命令 /dev 系統的設備文件,即設備的驅動程序 /home 用戶主目錄的基點 /lost-found 這個目錄平時是空的,當系統非正常關機而留下的“
Linux| Linux下各資料夾的結構說明及用途介紹
linux下各資料夾的結構說明及用途介紹: /bin:二進位制可執行命令。 /dev:裝置特殊檔案。 /etc:系統管理和配置檔案。 /etc/rc.d:啟動的配 置檔案和指令碼。 /home:使用者主目錄的基點,比如使用者user的主目錄就是/home/user,可以用~u
獲取指定目錄下的資料夾(包含檔案)並且拷貝到另一指定資料夾下,刪除指定目錄下的資料夾(包含檔案)
/** * 複製整個資料夾內容 * * @param oldPath *
【轉載】Linux下各資料夾的含義和用途 Linux下各資料夾的含義和用途
原文地址:https://www.cnblogs.com/lanqingzhou/p/8037269.html Linux下各資料夾的含義和用途 Linux根目錄”/“下各個系統資料夾的含義和用途 1、/boot 該目錄預設下存放的是Linux的啟動檔案和核心。 2、/initrd 它的英文
Linux下多資料夾編寫Makefile詳解
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
nodejs 中public資料夾作用初探
本篇部落格對比兩個nodejs例項,一個例項將index.html放在與index.js相同的資料夾下;而另一個例項則建立一個與index.js同級的public資料夾,index.html放在public中。第二個例項藉助語句 app.use(express.static(path.join(
Windows2008下共享資料夾的使用
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
linux檢視根目錄下所有資料夾大小
linux檢視根目錄下所有資料夾大小的方法如下: 1、進入根目錄:cd / 2、使用命令 : du -sh * 檢視根目錄下每個資料夾的大小 3、進入佔用空間比較大的資料夾,然後再使用2中命令查詢大檔案。 查詢大於10M的檔案 find / -type f -size +
unity editor模式下讀取資料夾資源
string path = EditorUtility.OpenFolderPanel("Load png Textures", "", ""); //開啟資料夾 string[] files = Directory.GetFiles(path); //獲取所有檔案路徑 Object[] os = ne
Linux 根路徑下各資料夾用途(centos)
/bin: 包含了引導啟動所需的命令或普通使用者可能用的命令(可能在引導啟動後)。這些命令都是二進位制檔案的可執行程式,多是系統中重要的系統檔案。 /boot: 包含可引導的Linux核心和引導裝載(boot loader)配置檔案(GRUB)。 /dev: 包含代表系統