當前位置:首頁 » 操作系統 » linuxbootloader

linuxbootloader

發布時間: 2022-10-16 15:25:05

❶ 請問bootloader、u-boot和linux內核的區別和關系是怎樣的麻煩哪位大俠給小弟指導指導。。

bootloader是取代mbr功能的,可以看成mbr的加強.u-boot是把usb盤做成啟動盤的,linux內核就是linux系統的核心,你用的linux就是在內核基礎上擴展了shell和應用程序.

❷ linux的內核是由bootloader裝載到內存中的

linux的內核的確是由bootloader裝載到內存中的。linux的bootloader有2個部分組成:bootstrap和uboot。所以更准確點的說法是:linux的內核是由uboot裝載到內存中的。內核文件本身是存放在硬碟的文件系統中,這句話就是錯的。內核和文件系統是分開存儲的。uboot讀取kernel到內存是從kernel開始存儲的地址開始讀取的,而讀取開始位置和讀取大小,是由環境變數決定的。所以這個時候不需要文件系統的。

給你張圖片,便於理解吧。這張圖片是bootstrap、uboot、環境變數、kernel、文件系統在nandflash裡面的存儲分布。

其中rootfs.jfss2就是文件系統。

❸ 求教重新安裝linux bootloader grub的命令。

首先用 rpm -q grub 看看 GRUB 是否已安裝。如果尚未安裝,可以用 urpmi grub 完成安裝。

然後,以『root』身份運行命令:

grub-install /dev/[device]

『device』是要用的啟動扇區的設備名。大多數情況下是『hda』,也就是 MBR ( the master boot record of the first IDE hard drive)。

接下來,您將看到的信息類似於:

[some text]
(fd0) /dev/fd0
(hd0) /dev/hda

位於第一個控制器(controller)的軟碟機,和第一個 IDE 主通道(master channel)上的硬碟。當然,在您的機器下顯示可能有所不同。第一部分標識的是 GRUB 的語法,其次是該設備在 Linux 下的表示。GRUB 不區分 SCSI 和 IDE 硬碟,只要將其啟動順序放入帳號就可以了。用一塊 SCSI 硬碟的系統的條目如下:

(fd0) /dev/fd0
(hd0) /dev/sda

如果系統有 SCSI 和 IDE 硬碟,且 BIOS 設置為從 SCSI 硬碟啟動的話,就是:

(fd0) /dev/fd0
(hd0) /dev/sda
(hd1) /dev/hda

如果您您改變了硬碟的啟動順序,那就得修改『/boot/grub/devices.map』。

萬一『grub-install』腳本出錯,您可以用 GRUB shell 來安裝啟動扇區:

grub
[some text]
grub> root (hdw,x)
[some text]
grub> setup (hdy,z)

其中,『w』、『x』、『y』和『z』都是數字。『w』標識硬碟,『x』是目錄『/boot/grub』所在的分區,『y』是啟動扇區所在的硬碟,如果您不想將啟動扇區安裝到『y』的 MBR ,就需要『z』。請注意:GRUB 以『0』開始計數。
例子一、將 GRUB 安裝到第一塊 IDE 硬碟的 MBR 上。『/boot』目錄在相同硬碟上:『/dev/hda3』。

grub> root (hd0,2)
grub> setup (hd0)

例子二、將 GRUB 安裝到根分區的啟動扇區上。根分區在後於 IDE 硬碟啟動的 SCSI 硬碟上:『/dev/sda1』。

grub> root (hd1,0)
grub> setup (hd1,0)

基本上,就是這樣。重啟後,您將看到 grub> 提示符。鍵入 help ,將列出所有的可用命令(GRUB 提供了一個全功能的 boot shell ,有命令行歷史記錄和自動補齊),而 help [command] 將顯示指定命令的幫助說明。

如何啟動 Linux 呢?顯然,您得告訴 GRUB 根分區和內核在哪裡。然後您得添加一個參數,用來告訴 Linux 的 init哪裡去找內核(情記住:GRUB 和 Linux 對分區的表示語法不同!)。假設根分區是 IDE 硬碟上的第一個主分區,用 kernel 命令就是:

kernel (hd0,0)/boot/vmlinuz root=/dev/hda1

是不是記不清內核所在的分區?很簡單,用 find /boot/vmlinuz 就可以了。現在鍵入 boot ,再按 ENTER ,您的系統就可以啟動了。

❹ 為什麼需要BootLoader linux

其實就是和微軟的是一樣的,只不過單獨出來,可以引導其他系統,不像XP。裝了它你如果在裝其他系統就不行

❺ 怎麼刪除linux操作系統

有網友咨詢我“我的伺服器是linux系統,我不知道弄那了,現在 不能啟動 了,我想把這個系統刪了,請問怎麼刪啊”那麼怎麼刪除linux 操作系統 呢?接下來大家跟著我一起來了解一下刪除linux操作系統的解決 方法 吧。

刪除linux操作系統方法

如果你想將Linux從機器中刪除,只保留Windows,你需要進行以下幾步操作:

從開始菜單(或開始屏幕)找到“Disk Management”(磁碟管理工具)並啟動.

找到Linux分區。在Windows下無法識別Linux分區,所以,你需要按照驅動器和分區大小去判斷,確認好以後繼續下面的步驟。

右鍵選好的分區,然後選擇“刪除卷”,這將會把分區刪除成自由空間,如果你再選擇自由空間,選擇刪除卷,就會變成未分配空間。

在Windows分區上右鍵,選擇“擴展卷”,擴展它以填補刪除Linux所留下的自由空間。

最後,插入Windows恢復光碟(或恢復USB驅動器),並從它啟動。選擇“修復計算機”,去“疑難解答”,然後輸入一個命令提示符。鍵入以下命令

bootrec.exe /fixmbr

這將刪除Linux的bootloader和恢復Windows'。

重新啟動你的電腦,你會發現,它直接引導進入Windows,不會有Linux分區。

如果你設置了雙啟動不同或把一個單獨的硬碟驅動器上的Linux,又或者有其他的操作系統在驅動器上的,操作方式可能會略有不同。但對於大多數人來說,這些指令就足夠了。

linux操作系統怎樣清除垃圾

tmp目錄下是用戶的臨時文件,可將不需要的直接用rm命令刪除。 另外,也可以使用以下方法對linux系統進行清理。1)清理升級緩存以及無用包;sudo apt-get autocleansudo apt-get cleansudo apt-get autoremove

2)清理opera/firefox緩存文件;ls ~/.opera/cache4|xargs rm -fls ~/.mozilla/firefox/*.default/Cache|xargs rm -f

3)清理Linux下孤立的包;圖形界面下我們可以用:gtkorphansudo apt-get install gtkorphan -y終端命令下我們可以用:deborphansudo apt-get install deborphan -y

4)刪除多餘的內核;打開終端敲命令:dpkg --get-selections|grep linux有image的就是內核文件;刪除老的內核文件:sudo apt-get remove 內核文件名 (例如:linux-image-2.6.27-2-generic)內核刪除,釋放空間了,應該能釋放130-140M空間。最後看看當前內核:uname -a

5)清空某個目錄下所有log日誌;for i in `ls *.log*`docat /dev/null >$idone

附錄:臨時文件目錄:/var/cache/apt/archives未下載完目錄:/var/cache/apt/archives/partial

❻ bootloader

ARM Linux啟動流程大致為:bootloader ---->kernel---->root filesystem。bootloader 是一上電就拿到cpu 的控制權的,而bootloader實現了硬體的初始化,為kernel的運行創造好條件。

那麼bootloader一般都會做些什麼

/ ====================================================== /

實現細節

工作在啟動載入模式時,uboot會自動執行bootcmd命令,

比如:

uboot首先把內核鏡像拷貝到內存地址為0x80000000的地方,然後執行bootm 0x80000000命令。

bootm命令實際上調用的是do_bootm_linux函數:

內核調用函數:theKernel (0,bd->bi_arch_number, bd->bi_boot_params);

the kernel其實不是個函數,而是指向內核入口地址的指針,把它強行轉化為帶三個參數的函數指針,會把三個參數保存到通用寄存器中,實現了向kernel傳遞信息的功能,在這個例子里,會把R0賦值為0,R1賦值為機器號 R2賦值為啟動參數數據結構的首地址。

這里的machine id,是讓內核知道是哪個CPU,從而調用對應的初始化函數。

繼續深入

1、需要在設備樹文件中聲明,單板需要什麼樣的machine_desc,(可以是一系列的字元串,kernel會從左到右匹配這些字元串,一直找到匹配的為止);

2、kernel中需要表明每個machine_desc需要表明它能支持哪些單板,用字元串表明支持哪些單板。

MACHINE_START和 MACHINE_END實際上被展開成一個結構體

3、 kernel有多個machine_desc跟設備樹文件dts中的compatible 吻合,選擇哪個?
設備樹文件dts中compatible(屬性值)從左到右的屬性值與kernel中的machine_desc結構體中的dt_compat成員進行比較,匹配成功之後就不會再進行匹配(設備書的屬性值從左右匹配優先順序依次降低)。

從內核的第一個執行文件head.S開始分析

start_kernel的調用過程如下:

注意:

C語言中的變數在匯編語言中出現,變數名表示的是變數的地址

❼ 為什麼bootloader要去Flash上讀入Linux內核

你這個問題應該分為幾個部分
1 bootloader主要是負責系統初始化和系統載入的 嵌入式系統一般會把bootloader和系統內核分開存放,這樣的話 系統內核損壞了的話 還可以通過bootloader進行恢復
2 linux內核一般比bootloader大很多。一個嵌入式系統,在系統剛通電的時候,根據cpu的不同,他們是從一個固定的內存地址開始運行的。一般情況下,這個固定地址會是一個ROM,其存儲空間一般較小,一般用來存放bootloader。而根據板子設計的不同,系統內核是保持在flash或者其他存儲介質上的。
3 bootloader在完成硬體初始化後,從存儲介質上把系統內核讀入到指定的內存區域,然後用一個跳轉指令跳轉到系統內核處開始執行 。注意,這個存儲介質不一定是flash

❽ 嵌入式linux的bootloader的啟動流程是怎樣的

嵌入式 Linux 系統從軟體角度看可以分為四個部分:引導載入程序(Bootloader), Linux 內核,文件系統,應用程序。

當系統首次引導時,或系統被重置時,處理器會執行一個位於Flash/ROM中的已知位置處的代碼,Bootloader就是這第一段代碼。它主要用來初始化處理器及外設,然後調用 Linux 內核。Linux 內核在完成系統的初始化之後需要掛載某個文件系統作為根文件系統(Root Filesystem),然後載入必要的內核模塊,啟動應用程序。這就是嵌入式Linux系統啟動過程 Linux 引導的整個過程。

Bootloader 的啟動方式:

  1. 網路啟動方式。這種方式的開發板不需要較大的存儲介質,跟無盤工作站有點類似,但是使用這種啟動方式之前,需要把Bootloader安裝到板上的EPROM或者Flash中。Bootloader通過乙太網介面遠程下載Linux內核映像或者文件系統。Bootloader下載文件一般都使用TFTP網路協議,還可以通過DHCP的方式動態配置IP地址。

  2. 硬碟啟動方式
    傳統的Linux系統運行在台式機或者伺服器上,這些計算機一般都使用BIOS引導,並使用磁碟作為存儲介質。Linux傳統上是LILO (Linux Loader) 引導,後來又出現了GUN的軟體 (Grand Unified Bootloader) 。 這兩種Bootloader廣泛應用在X86的Linux系統上。

  3. Flash啟動方式。大多數嵌入式系統上都使用Flash存儲介質。Flash有很多類型,包括NOR Flash、NAND Flash和其它半導體盤。它們之間的不同在於: NOR Flash 支持晶元內執行(XIP, eXecute In Place),這樣代碼可以在Flash上直接執行而不必拷貝到RAM中去執行。而NAND Flash並不支持XIP,所以要想執行 NAND Flash 上的代碼,必須先將其拷貝到 RAM中去,然後跳到 RAM 中去執行。NOR Flash 使用最為普遍。Bootloader一般放在Flash的底端或者頂端,這需要根據處理器的復位向量來進行設置。可以配置成MTD設備來訪問Flash分區。

❾ 誰知道Linux的bootloader和BSP的區別越詳細越好,不要復制粘貼的,BSP有開發模板

bsp 是 board supporr package,bootload是啟動管理
完全不是一類東西

熱點內容
怎麼查看泰拉伺服器ip 發布:2025-05-14 23:03:29 瀏覽:72
c語言學生成績查詢系統 發布:2025-05-14 22:58:30 瀏覽:4
怎麼進別人的伺服器 發布:2025-05-14 22:45:55 瀏覽:772
用編程寫音樂 發布:2025-05-14 22:45:08 瀏覽:782
如何識別電腦的網路配置 發布:2025-05-14 22:38:46 瀏覽:847
pipforpython3 發布:2025-05-14 22:38:34 瀏覽:350
如何把迷你世界的伺服器搞崩 發布:2025-05-14 22:37:15 瀏覽:94
如何讓安卓卡死機 發布:2025-05-14 22:36:27 瀏覽:634
wemall微商城源碼 發布:2025-05-14 22:15:20 瀏覽:804
隆地優選交易密碼是什麼 發布:2025-05-14 21:53:23 瀏覽:97