<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 最小的Linux系統(tǒng)制作過程詳解

          最小的Linux系統(tǒng)制作過程詳解

          作者: 時間:2016-10-08 來源:網絡 收藏

          接下來幾個大項:

          Amateur Radio support

          IrDA (infrared) support

          ISDN subsystem

          Old CD-ROM drivers (not SCSI,not IDE)

          Input core support

          全部選擇N.

          接下來的Charcter devices是很重要的一項,他和Bloack devices一樣重要,我將重點講述.

          除了Virtual terminal和Support for console on terminal兩項,其他全選N.

          Virtual terminal 即虛擬終端,這是一般linux必備選項.否則你的linux啟動后,在屏幕看不到任何東西.另外還負責鍵盤輸入信息等等.只有在某些嵌入式linux應用場合才會不要這個選項,因為這些linux通常都不用操作.

          Support for console on terminal

          在虛擬終端上的控制臺.他支持在終端上各種信息的輸出,這也是必備的.

          接下來的幾個大項:

          Multimedia devices

          Crypto Hardware support

          全部選擇N.

          再接下來的那部分File sytems可是重頭戲喔.

          這部分不用我太羅嗦了吧,自己需要支持什么就選什么.

          但是其中有三個是你必需選的:

          /proc file system support 缺了他,很多命令和軟件就不能運行.

          Second extended fs support BabyLinux的基本文件系統(tǒng).

          ISO 9660 CDROM filesytem support 除非你不想用光盤.

          另外,諸如磁盤限額(Quota support),Reiserfs的DEBUG模式(Enable reiserfs debug mode)

          等就不用編譯進去了.這些東西意義不大,確要無端的增大內核大小.請牢記一點:編譯出來的內核大小不要超過900K.

          Tip:是不是看的很累啊,我寫得更累,別急,內核配置部分馬上要好了.

          最后一個Console drivers

          這是支持linux在字符模式下高分辨率顯示的內核模塊.前面三個全部選擇Y,

          Frame-buffer support按鈕是灰色的不能選,別急,回到第一個大選項:

          Code maturity level options 選擇Y,就可以激活這個按鈕了.

          下面幾個選項需要選擇Y:

          Support for framebuffer devices

          VESA VGA graphics console

          你也可以選擇其他的顯卡驅動,比如nVidia的,但是VESA和VGA是通用性最好的,只要不是幾十年前的黑白顯卡(我只聽說過,沒見過),都兼容VESA和VGA,因此,為了制作好的BabyLinux的通用性,請選擇這個驅動.

          Support only 8 pixels wide fonts

          這個一定要選,否當你給內核傳遞vga=788參數,讓linux在字符界面下高分辨率顯示的時候,系統(tǒng)會因為找不到合適的小字體而返回到低分辨率模式.

          好了!所有內核的配置工作到這里就全部完成了,剩下的幾個大項全部選N就行了.

          保存后退出,配置程序會自動生成一個隱藏的配置文件.config

          下面是我配置好的.config文件內容.如果你懶的自己去配置,那么直接把這個.config拷貝到你的源代碼目錄下就能直接用了.(已經去掉了#開頭的注釋行)

          CONFIG_X86=y

          CONFIG_UID16=y

          CONFIG_EXPERIMENTAL=y

          CONFIG_M586=y

          CONFIG_X86_WP_WORKS_OK=y

          CONFIG_X86_INVLPG=y

          CONFIG_X86_CMPXCHG=y

          CONFIG_X86_XADD=y

          CONFIG_X86_BSWAP=y

          CONFIG_X86_POPAD_OK=y

          CONFIG_RWSEM_XCHGADD_ALGORITHM=y

          CONFIG_X86_L1_CACHE_SHIFT=5

          CONFIG_X86_USE_STRING_486=y

          CONFIG_X86_ALIGNMENT_16=y

          CONFIG_X86_PPRO_FENCE=y

          CONFIG_NOHIGHMEM=y

          CONFIG_NET=y

          CONFIG_PCI=y

          CONFIG_PCI_GODIRECT=y

          CONFIG_PCI_DIRECT=y

          CONFIG_SYSVIPC=y

          CONFIG_SYSCTL=y

          CONFIG_KCORE_ELF=y

          CONFIG_BINFMT_ELF=y

          CONFIG_BLK_DEV_FD=y

          CONFIG_BLK_DEV_LOOP=y

          CONFIG_BLK_DEV_RAM=y

          CONFIG_BLK_DEV_RAM_SIZE=4096

          CONFIG_BLK_DEV_INITRD=y

          CONFIG_PACKET=y

          CONFIG_INET=y

          CONFIG_IP_MULTICAST=y

          CONFIG_IDE=y

          CONFIG_BLK_DEV_IDE=y

          CONFIG_BLK_DEV_IDEDISK=y

          CONFIG_IDEDISK_MULTI_MODE=y

          CONFIG_BLK_DEV_IDECD=y

          CONFIG_BLK_DEV_IDE_MODES=y

          CONFIG_NETDEVICES=y

          CONFIG_NET_ETHERNET=y

          CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024

          CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768

          CONFIG_VT=y

          CONFIG_VT_CONSOLE=y

          CONFIG_REISERFS_FS=y

          CONFIG_EXT3_FS=y

          CONFIG_JBD=y

          CONFIG_FAT_FS=y

          CONFIG_VFAT_FS=y

          CONFIG_RAMFS=y

          CONFIG_ISO9660_FS=y

          CONFIG_JFS_FS=y

          CONFIG_NTFS_FS=y

          CONFIG_PROC_FS=y

          CONFIG_EXT2_FS=y

          CONFIG_MSDOS_PARTITION=y

          CONFIG_NLS=y

          CONFIG_NLS_DEFAULT=iso8859-1

          CONFIG_VGA_CONSOLE=y

          CONFIG_VIDEO_SELECT=y

          CONFIG_VIDEO_IGNORE_BAD_MODE=y

          CONFIG_FB=y

          CONFIG_DUMMY_CONSOLE=y

          CONFIG_FB_VESA=y

          CONFIG_VIDEO_SELECT=y

          CONFIG_FBCON_CFB8=y

          CONFIG_FBCON_CFB16=y

          CONFIG_FBCON_CFB24=y

          CONFIG_FBCON_CFB32=y

          CONFIG_FBCON_FONTWIDTH8_ONLY=y

          CONFIG_FONT_8x8=y

          CONFIG_FONT_8x16=y

          5,編譯內核

          #make dep

          #make bzImage

          下面是最后編譯結果:

          Boot sector 512 bytes.

          Setup is 4733 bytes.

          System is 845 kB

          make[1]: Leaving directory `/usr/src/linux-2.4.20-8/arch/i386/boot'

          我用上面的配置得到了一個845k的內核.

          編譯好的內核放在/usr/src/linux-2.4.20-8/arch/i386/boot下.將他拷貝在一個安全的地方備用.

          建立一個專放babylinux材料的目錄

          #mkdir /babylinux

          建立一個做babylinux根文件系統(tǒng)的目錄

          #mkdir /babylinux/rootfs

          備份內核



          關鍵詞:

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();