常用命令詳解

2021-06-06 21:22:36 字數 4284 閱讀 1494

下面再寫一點ltib的常用命令引數吧,雖然覺得對其編譯核心和檔案系統流程有了一定了解,但是對其命令引數用過的還不是很多,可以說是不甚了解,下面介紹一些,希望有用:

$ ./ltib --help                        ## 這個等同於 ./ltib -h

在編譯核心和檔案系統時,有時忘了我們選了哪些程式包來進行編譯操作,我們可以用下面的命令來檢視當前安裝模式下所有可用的程式包,是否被選擇編譯進工程 :

$ ./ltib -m listpkgs                ## 此命令是根據ltib的配置來顯示

檢視配置中已選編譯的程式包,如核心版本包,系統工具包:

$ ./ltib -m listpkgs | grep ' y '

如果想看編譯過程產生的資訊並把這些資訊也儲存,以備以後檢視,可用以下命令

$ ./ltib --preconfig config/platform/mpc8349itx/defconfig-min-fs-our-final --batch 2>&1 | tee ltib_log.txt

## 儲存編譯過程產生的資訊及錯誤資訊全部儲存到ltib_log.txt檔案中

ltib提供了一種shell模式,它直接提供了我們當前配置的交叉編譯工具鏈模式,下面的命令能讓我們進入ltib的shell環境

$ ./ltib -m shell        ## 完成後會給出提示,進入shell模式的提示符 'ltib>'

## 輸入exit可退出shell模式

## 下面的命令可以看一下這個有什麼用,我直接給出命令,它下面就是這個命令的結果,不再解釋

ltib> gcc --version

powerpc-linux-uclibc-gcc (gcc) 3.4.3

this is free software; see the source for copying conditions.  there is no

warranty; not even for merchantability or fitness for a particular purpose.

ltib>

有時候我們想看一下某些程式包的原始碼,比如kernel、uboot等這些看了有益於身心健康的程式原始碼,該怎麼辦呢? 還有一種情況就是這些原始碼中存放有板子的各種配置檔案,比如記憶體對映分配,也需要看一下原始碼檔案,其命令格式為 $ ./ltib -m prep -p

## 下面這部分我是在large資料夾下操作,所寫路徑也是相對於/usr/local/mpc8349/large/來寫的,而不是mytest資料夾下

## 例如我們要檢視mpc8349itx開發板上vsc7385的記憶體分配,或查詢vsc7385的驅動模組部分,需要看uboot、核心原始碼,以下命令得到核心原始碼

$ ./ltib -m prep -p kernel

## 解壓後的核心原始碼位於rpm/build/linux-2.6.13/

## 其中vsc7485的驅動是rpm/build/linux-2.6.13/drivers/net/gianfar_phy.c

## 下面操作必須在原來的large資料夾下操作,為什麼這麼做?自己思考吧。以下命令可以得到uboot原始碼

$ ./ltib -m prep -p u-boot

## 解壓後得到的uboot原始碼位於rpm/build/u-boot-1.1.3

## 其中有關mpc8349mitx板子配置資訊的重要檔案為/include/configs/mpc8349itx.h

## 在上面的這個檔案中可用看到vsc7385的記憶體分配基位址資訊(#define cfg_vsc7385_base     0xf8000000)

## 不用uboot命令的話,可參看一下原始碼幫助理解。

## 注:上面這段命令操作我之所以選擇在/usr/local/mpc8349/large資料夾下,是因為要得到某些程式原始碼,首先它得編譯過。

上面介紹了乙個ltib編譯核心和檔案系統比較好用的辦法,當你比較熟悉了ltib工作流程,完全可以自己配置交叉編譯工具鏈,核心和檔案系統,然後編譯,可以用下面這個命令列

$ ./ltib --configure

如果想重新產生所有核心和rfs映象有以下三個辦法:

## 辦法一: 直接呼叫配置檔案編譯,如果配置檔案沒有更新,且編譯過的目標映象沒有變化,會不進行編譯。若有任何改動,會執行編譯

$ ./ltib --preconfig config/platform/mpc8349itx/defconfig-min-fs-our-final --batch

## 辦法二: 如辦法一一樣,但強制重新編譯

$ ./ltib --preconfig config/platform/mpc8349itx/defconfig-min-fs-our-final --batch -f

## 辦法三: 清除所有編譯的程式包,然後重新配置編譯映象

$ ./ltib -m distclean                ## 清除ltib工程檔案

$ ./ltib --configure                ## 重新配置編譯

假如我們對ltib的配置檔案不滿意,想自己通過配置操作來熟悉ltib的各種配置,或者相關工作做完了,甚至是看它不順眼,都可以採用此操作,把ltib完全解除安裝,

## 首先執行命令:

$ ./ltib -m distclean                ## 此操作將徹底清除所有當前ltib工程檔案

## 此命令不要輕易使用,除非比較熟悉ltib編譯配置過程

## 然後以root身份執行以下操作(注意:此操作將解除安裝所有的公共檔案)

# rm -rf /opt/freescale/pkgs

# rm -rf /opt/freescale/ltib

# rm ## 執行檔案ltib的上級目錄

## 另一種更加暴力的辦法是root身份執行rm命令來刪除所有

下面再寫一下外部核心模組的編譯,假如我們有乙個資料夾test(位於主目錄/home/liuby/下),該資料夾包含程式原始碼檔案test.c和makefile,這兩個檔案的內容附在此段內容的最後。

## 首先我們得到核心原始碼,然後再編譯,為什麼這麼做,我也不懂~~~,有些納悶,以後再解決

$ ./ltib -m prep -p kernel

$ ./ltib -m scbuild -p kernel        ## 編譯的映象為rpm/build/linux/arch/ppc/boot/images/uimage

## 將test資料夾copy到核心的driver資料夾下

$ cp -a ~/test  rpm/build/linux/drivers/

## vi修改driver資料夾下的makefile

$ vi rpm/build/linux/drivers/makefile

## 可以仿照makefile裡的內容在最後新增如下一行

ojb-m               += test/                 ## 然後儲存退出

## 修改test資料夾下的test.c和makefile確保其正確無誤。

## 下面的命令是進入ltib的shell環境,然後進入到test目錄,然後編譯

$ ./ltib -m shell

ltib> cd rpm/build/linux/drivers/test/

ltib> make v=1 arch=ppc

++++++++++++++++下面為test.c程式內容++++++++++++++++++

#include

#include

#include

module_license("dual bsd/gpl");

static int hello_init(void)

static void hello_exit(void)

module_init(hello_init);

module_exit(hello_exit);

++++++++++++++++上面為test.c程式內容++++++++++++++++++

+++++++++++++++下面為makefile程式內容+++++++++++++++++

ifneq ($(kernelrelease),)

obj-m := test.o

else

kdir := ../..

pwd := $(shell pwd)

default:

$(make) -c $(kdir) m=$(pwd)

endif

+++++++++++++++上面為makefile程式內容+++++++++++++++++

## 類似地我們可以編譯vlan配置模組

Yum命令常用命令詳解

yum命令常用命令詳解 1.使用yum查詢軟體包 命令 yum search 2.列出所有可安裝的軟體包 命令 yum list 3.列出所有可更新的軟體包 命令 yum list updates 4.列出所有已安裝的軟體包 命令 yum list installed 5.列出所有已安裝但不在yum...

DOS常用命令詳解。。。

一 dir 顯示目錄檔案和子目錄列表,呵呵,這個當然是人人要知道的。可以使用萬用字元 和 表通配乙個字元,表通配任意字元 字尾 指定要檢視字尾的檔案。上面其實也可以為 字尾 例如dir exe 等於dir exe p 每次顯示乙個列表螢幕。要檢視下一屏,請按鍵盤上的任意鍵。w 以寬格式顯示列表,在每...

Ubuntu常用命令詳解

su su命令是最基本的命令之一,常用於不同使用者間切換。例如,如果登入為 user1,要切換為user2,只要用如下命令 su user2 然後系統提示輸入user2口令,輸入正確的口令之後就可以切換到user2。完成之後就可以用exit命令返回到user1。su命令的常見用法是變成根使用者或超級...