uboot是如何配置的
❶ uboot的/include/configs下的配置文件需要自己寫么
uboot的傳入參數寫死,不是寫在內核中。你將你的參數寫到/uboot/include/configs/xxx.config ,就不需要再在啟動uboot後設置環境變數了。
❷ 如何修改uboot環境變數,pf0100np怎麼配置成f0
你好,那個文檔裡面沒有uboot參數嗎?我現在能進系統了,進入了linux的文字界面,但是hdmi沒有顯示,請問是uboot環境設置問題還是硬體問題,我是按附件設置sd3啟動。
❸ 如何進入uboot菜單
boot.ini文件分為兩部分,[boot loader]和[operating systems]。
一、首先介紹[boot loader]:
timeout=?? 這個等號後面的數字表示在出現多操作系統引導時。選擇菜單滯留的時間。默認為30秒。
這個只有三個取值范圍,有、無、無效。若修改為1-999之間的一個整數,則多操作系統選擇菜單會滯留相應的時間。若修改為0。則不會出現多操作系統選擇菜單。默認進入第一個操作系統(即[operating systems]下面的第一個操作系統)。如果修改為一個負整數或一個大於等於1000的正整數。系統認為此值無效,多操作系統選擇菜單滯留時間將為無窮。
default=*** 這個等號後面的為默認進入的操作系統的路徑,格式為[operating systems]下面等號之前的部分。大概有兩種情況:win9x系列(95、98、ME)和NT系列(NT4.0、WIN2000、WINXP)。前一種,由於Active區的問題,基本上為C:\ 後一種,遵從ARC命名規則(詳見下文)。
二、接下來就進入了[operating systems]部分:
這部分的每一行都代表引導一個操作系統,每一行可分四部分:等號之前、等號、等號之後、/???
等號之後表示多操作系統選擇菜單的display。隨便你在英文雙引號里添什麼都可以。如果要填中文,比如"我的最愛!"。如果是中文的操作系統是沒問題的,如果是英文的操作系統,你必須拷一個bootfont.bin文件到C盤根目錄下。否則你填中文會顯示亂碼。有的時候,後面還會出現 /??? ,具體的有/fastdetect,表示快速引導。/console 表示虛擬控制台。等號前面的就遵從ARC命名規則了,ARC命名規則是boot.ini文件的核心。
ARC命名規則:
Multi(x)disk(y)rdisk(z)patition(a)
或Scsi(x)disk(y)rdisk(z)patition(a)
1)首先,現在的磁碟分為IDE的和Scsi的兩種。我們平時家用台式機使用的都是IDE的。
若使用IDE的磁碟控制器,也使用Scsi的磁碟控制器,且主板Scsi磁碟控制器設為Enable。則使用Multi(x)disk(y)rdisk(z)patition(a)的命名格式。另外,若只有IDE的磁碟控制器,也使用Multi(x)disk(y)rdisk(z)patition(a)的命名格式。若只有Scsi的磁碟控制器,則使用Scsi(x)disk(y)rdisk(z)patition(a)的命名格式。
這里,x的值為:操作系統的boot分區所在磁碟所在的磁碟控制器,在同一類磁碟控制器下的順序號。x從零開始計數。也就是時說當你確定磁碟控制器的順序號以後,減去1就是x的值了。(boot分區為操作系統安裝的分區。)
2)若前面使用Multi(x),則disk(y)無意義,永遠為零。
若前面使用Scsi(x),則disk(y)有意義。y值標識操作系統的boot分區所在磁碟所在的磁碟控制器下,磁碟的順序號,y值從0開始計數。
3)若前面使用Scsi(x),則rdisk(z)無意義,永遠為零。
若前面使用Multi(x),則rdisk(z)有意義。z值標識操作系統的boot分區所在磁碟所在的磁碟控制器下,磁碟的順序號,z值從0開始計數。
4)patition(a)中a從1開始計數。a值標識操作系統的boot分區在其所在磁碟中的位置。具體的,首先一個磁碟最多分為4個基本的分區,基本的分區包括primary zone(基本區)和extend zone(擴展區)。extend zone可以分出若干邏輯區。這里必須區分「基本的分區」和「基本區」。
就以我們平時使用win98啟動盤中的fdisk.exe工具的分區結果舉例。由於功能所限,fdisk最多隻能分出一個primary zone和一個extend zone。然後再在extend zone中分出若干邏輯區。這里邏輯區的數目為直到把英文大寫字母數用完為止。這里primary zone為C盤,邏輯區依次為D-Z共23個。如果使用另外的工具分出多於一個primary zone,那麼,一次邏輯區就要少分一個,因為大寫字母數有限。擴展區最多隻有一個。
言歸正傳,a值標識操作系統的boot分區在其所在磁碟中的位置。那麼這個位置怎麼確定呢?總的原則是:先數基本區,數完之後再數邏輯區。具個例子,你的一個硬碟分了四個基本的分區,第一個、第二個是基本區,標識為C區、D區。第三個基本的分區為擴展區,裡面分了四個邏輯區,依次標識為E區、F區、G區、H區。第四個也是基本區,標識為I區。你的boot區若為I區,則a值為3;若為D區,則a值為2;若為F區,則a值為5;若為H區,則a值為7。
5)\??? 斜杠後面的表示你的操作系統的根目錄在這個分區下的相對路徑和文件夾名。multi(0)disk(0)rdisk(1)partition(1)\WINNT表示我的操作系統的根文件夾名為WINNT,在第二塊IDE硬碟的第一個區下的WINNT文件夾。實際上,有的同志的硬碟只有一個分區。如果還想安裝雙系統,比如WIN2K和WINZP。那麼如果他把兩個操作系統都裝在C盤根目錄下,就會造成兩個操作系統共用Documents and Settings和Program Files文件夾的情形,如果想刪除一個操作系統,很不方便。這個時候你就可以在安裝第二個操作系統之前在C盤根目錄下建一個文件夾,例如叫NEWOS,然後再安裝的時候就選擇安裝新的操作系統在NEWOS文件夾下,那麼你這個新的WINXP的 \???就為\NEWOS\WINDOWS。
❹ 如何配置uboot的默認網關
首先做的是執行這樣一條指令
例如:
make s3c2440_config
這條指令實際上是指向了一條更長的指令
這條指令在uboot根目錄下的makefile中自己定義的,跟你的開發板相關;
s3c2440_config:unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t s3c2440 NULL s3c24x0
這條指令指向的執行文件是MKCONFIG
通過閱讀MKCONFIG 文件源碼我們可以看出。MKCONFIG有如下作用
第一:確定開發板的名字就是BOARD_NAME
-n) shift ; BOARD_NAME =" ${1%%_config}";shift;;
第二:創建到平台/開發板的頭文件的鏈接
ln -s asm-$2 asm
$2 便是我們第一條指令傳遞出來的arm,
還有如下代碼
ln -s ${LNPREFIX}arch-$6 asm-$2/arch
這樣s3c24x0也發揮作用了。
第三:創建頂層Makefile包含的文件include/config.mk
第四:創建開發板相關的頭文件 include/config.h
在config.h這個文件里,存放的是開發板的配置信息。
只有以下兩類宏
(1)一類是選項CONFIG開頭,用來選擇CPU,SOC,開發板類型,設置系統時鍾,選擇設備驅動
(2)另一類是參數 用CFG來開頭,如設置malloc緩沖池的大小,U-boot的提示符,u-boot下載文件的默認載入地址,flash的起始地址。
開發板的第一個參數,將編譯文件分別指向了/board/$board_name and cpu/$cpu/
所以才會產生如下的編譯結果。
(1)首先編譯/board/$board_name/start.S,對於不同的CPU,還可能編譯cpu/$(CPU)下的其他文件。
(2)然後,對於平台/開發板相關的每個目錄、每個通用目錄都使用它們各自的Makefile生成相應的庫。
(3)將1,2步驟生成的.o、.a文件安裝board/$(BOARDDDIR)/U-boot.lds連接腳本進行連接。
(4)第3步得到的是ELF格式的u-boot,後面Makefile還會將它轉換為二進制格式,s_Record格式。
❺ 如何在UBOOT代碼中進行內存配置
下載完要寫入,不是邊下邊寫入。
寫入uboot時需要運行本地代碼,此時必須讓東西放在內存檔才能分區、格式化快閃記憶體而不會影響到下載來的uboot。
❻ linux怎麼進入uboot菜單
linux下的dnw配置步驟以下:1
下載源碼
源碼:dnw_linux
這個是在1個論壇上搜到的,這個不需要注冊,就能夠免費下載奧,感謝作者的辛苦勞動和忘我的奉獻精神,呵呵...2
解壓這個下載完以後是rar格式的,還得到windows下解壓。解壓後到linux下便可。其中secbulk.c是pc端usb驅動,
dnw.c是寫入工具。3
編譯並載入secbulk模塊$cd
secbulk$make
-c
/lib/moles/`uname
-r`/build
m=`pwd`
moles編譯成功後在當前目錄下可以看到secbulk.ko
用insmod命令載入模塊,這需要root許可權$sudo
insmod
./secbulk.ko4
編譯dnw寫入工具$gcc
-o
dnw
dnw.c編譯成功後生成可履行dnw5
使用dnw下載使用方式和windows下基本1致。在終端下輸入相應的uboot命令,當出現「usb
host
is
connected.
waiting
a
download.」時,在pc端linux上用dnw工具寫入要下載的文件便可。切換到root許可權,履行dnw下載.$./dnw
/path註:這個/path就是所要下載的文件的路徑及名稱,例:/home/linux⑵.6.30.4/arch/arm/boot/zimage寫入完成後提示成功100%
xxxxxxx
bytes
ok可以把編譯好的dnw拷貝到/usr/sbin下或是usr/bin下,以後使用就直接使用dnw
/path
便可。至此,完成內核的下載,下載文件系統一樣的方法便可。注意:注意:有時候由於內核的升級,運行時會提示can
not
open
/dev/secbulk0的毛病,此時需要重新到secbulk目錄履行$make
-c
/lib/moles/`uname
-r`/build
m=`pwd`
moles,然後載入模塊$sudo
insmod
./secbulk.ko便可!
❼ uboot 設置內存容量
在uboot/include/configs/yourBoard.h中有類似於
#define CONFIG_NR_DRAM_BANKS 1
#define PHYS_SDRAM 0x20000000
#define PHYS_SDRAM_SIZE 0x2000000 /* 32 megs */
每一種board定義有所區別 我貼出來的是AT91RM9200DK的。
❽ uboot 中的 config make config是怎麼來的
make oldconfig 和 make defconfig的區別:
oldconfig是將當前內核源碼的新特性加入.config中去。
defconfig是直接按照默認的i386_defconfig生成.config。
make oldconfig 和 make defconfig是在Linux 內核配置方式中出現的。相關的還有:
#make config
#make menuconfig
#make gconfig
#make allyesconfig
#make allmodconfig
1.make config
make config是基於文本的最為傳統的也是最為枯草的一種配置方式,但是它可以使用任何情況,這種方式會為每一個內核支持的特性向用戶提問,如果用戶回答「y」,則把特性編譯進內核;回答「m」,則它特性作為模塊進行編譯;回答「n」,則表示不對該特性提供支持
如果回答每個問題前,必須考慮清楚,如果在配置過程中犯了錯誤給了錯誤的回答,就只能按「ctcl+c」強行退出了
2.make oldconfig
make oldconfig和make config類似,但是它的作用是在現有的內核設置文件基礎上建立一個新的設置文件,只會向用戶提供有關新內核特性的問題,在新內核升級的過程 中,make oldconfig非常有用,用戶將現有的配置文件.config復制到新內核的源碼中,執行make oldconfig,此時,用戶只需要回答那些針對新增特性的問題
make silentoldconfig : Like above, but avoids cluttering the screen with questions already answered.和上面oldconfig一樣,但在屏幕上不再出現已在.config中配置好的選項。
3.make menuconfig
基於終端的一種配置方式,提供了文本模式的圖形用戶界面,用戶可以通過游標移動來瀏覽所支持的各種特性。使用這用配置方式時,系統中必須安裝有ncurese庫,否則會顯示「Unable to find the Ncurses libraies」的錯誤提示
4.make xoncifg
基 於X Winodws的一種配置方式,提供了漂亮的配置窗口,不過只有能夠在X Server上使用root用戶欲行X應用程序時,才能夠使用,它依賴於QT,如果系統中沒有安裝QT庫,則會出現「Unable to find the QT installation」的錯誤提示
5.make gconfig
與make xocnifg類似,不同的是make gconfig依賴於GTK庫
6.make defconfig
按照默認的配置文件arch/i386/defconfig對內核進行配置,生成.config可以用作初始化配置,然後再使用make menuconfig進行定製化配置
7.make allyesconfig
盡量多地使用「y」設置內核選項值,生成的配置中包含了全部的內核特性
make allnoconfig :除必須的選項外,其它選項一律不選. (常用於嵌入式系統).
8.make allmodconfig
盡可能多的使用「m」設置內核選項值來生成配置文件
❾ 天嵌mx6怎樣查看uboot的配置信息命令
這個說明你的硬體連接是好的,出現這個原因是因為NOR FLASH里邊沒有燒入uboot,所以不能反饋信息到CRT上。
具體是使用JTAG來燒寫固件程序,然後從nor flash啟動之後就會有串口輸出信息到CRT上了。
具體操作方法在天嵌給的資料上邊有。