<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 軟盤(pán)上的Linux系統方案

軟盤(pán)上的Linux系統方案

作者: 時(shí)間:2011-05-20 來(lái)源:網(wǎng)絡(luò ) 收藏

本文將介紹一種兩張上的,它可以當作應急修復盤(pán)、路由器或防火墻等許多地方,通過(guò)對它的研究,也可以加深對嵌入式的理解。
  
  一.前言

本文引用地址:http://dyxdggzs.com/article/150724.htm

  嵌入式是由一個(gè)幾百KB的內核和一個(gè)根據需要制定的文件系統所構成了, 由于Linux是開(kāi)放源代碼的操作系統,所以在嵌入式領(lǐng)域有著(zhù)非常廣闊的前景,并已經(jīng)廣泛應用在許多手機、PDA、MP3播放器等許多電子產(chǎn)品中。本文將介紹一種兩張上的Linux系統,它可以當作系統應急修復盤(pán)、路由器或防火墻等許多地方,通過(guò)對它的研究,也可以加深對嵌入式系統的理解。
  
  二.Linux啟動(dòng)過(guò)程

  所有的PC機在加電之后,BIOS會(huì )尋找到啟動(dòng)盤(pán)第一個(gè)扇區,并將其復制到RAM中來(lái)執行它,對于兩種不同的啟動(dòng)方式,這個(gè)扇區通常含有兩種不同的代碼:引導程序(比如Lilo或Grub等)的代碼,引導程序會(huì )幫助定位內核的位置。內核的代碼,這通常是從啟動(dòng)時(shí)使用的引導的方式。對于前者,通常需要內核支持initrd。如果是后者,使用的Boot Loader就是arch/i386/boot/bootsect.S。當內核被編譯的時(shí)候,這段執行代碼就被鏈接到內核image的最開(kāi)始的地方。這樣很容易就能只要把內核復制到起始位置為第一個(gè)扇區的軟盤(pán)上就能得到可自啟動(dòng)的軟盤(pán)。內核會(huì )初始化設備驅動(dòng)和內部的數據結構,之后它會(huì )到一個(gè)特定的位置DDRamdisk Word來(lái)獲得根文件系統的位置。內核必須知道去那里尋找這個(gè)根文件系統,否則它將停機。
  
  在使用軟盤(pán)啟動(dòng)的方式時(shí),內核可以把一個(gè)壓縮的文件系統釋放到RAM中,稱(chēng)之為Ramdisk,這是一個(gè)內存區域,但內核會(huì )把它當作磁盤(pán)一樣使用。
  
  本文中介紹的例子使用Grub做為引導程序,并使用initrd來(lái)輔助Linux的啟動(dòng)。兩張軟盤(pán)分別命名為bootldr盤(pán)和rootfs盤(pán),在bootldr盤(pán)中內容為grub、內核、initrd,rootfs盤(pán)中是壓縮過(guò)的根文件系統。系統啟動(dòng)時(shí)bootldr盤(pán)的Grub定位并執行內核,然后內核解開(kāi)initrd,并執行linuxrc文件,這個(gè)文件負責提示用戶(hù)更換rootfs盤(pán)并將其中內容解壓至內存中,然后執行剛剛解壓的init繼續啟動(dòng)過(guò)程。
  
  為了方便理解這個(gè)例子,先介紹目錄結構如下:
  
  /home/papaya
  ├─bootldr/
  │ ├─grub/
  │ ├─kernel/
  │ │ ├─images/
  │ │ └─linux-2.4.21/
  │ └─initrd/
  │   ├─mkinitrd.sh
  │   ├─local/
  │   └─ramdisk/
  ├─rootfs/
  │ ├─mkrootfs.sh
  │ ├─ramdisk/
  │ └─local/
  └─lib/

  三.定制Grub引導程序

  插入一張軟盤(pán),然后將其格式化,然后加載到/mnt/floppy
  
  #mke2fs /dev/fd0
  #mount -t ext2 /dev/fd0 /mnt/floppy -o loop
  在其中創(chuàng )建/boot/grub目錄
  #mkdir -p /mnt/floppy/boot/grub
  
  將系統中/boot/grub下的device.map, stage1, stage2 復制到/mnt/floppy/boot/grub中,然后在/mnt/floppy/boot/grub目錄下創(chuàng )建grub.conf文件:
  
  default=0
  timeout=10
  title Floppy Linux
  kernel (fd0)/bzImage root=/dev/ram0
  initrd (fd0)/initrd.gz
  
  然后創(chuàng )建一個(gè)鏈接
  
  #ln -s grub.conf menu.lst
  
  執行
  
  /sbin/grub --batch --device-map=/dev/null   device (fd0) /dev/fd0
  root (fd0)
  setup (fd0)
  quit
  EOF
  
  這樣grub就被安裝到bootldr盤(pán)上了。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 方案 系統 Linux 軟盤(pán)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>