第一步: 對硬體進行設置,使其滿足要求並下載內核:
1. 新添加一塊20G的硬碟及修改內存:
『貳』 內核編譯以及如何得到kernel
註:不僅要對機器本身有了解,還要對Linux系統有一定的了解)有一定的理解——這是一個難題。
因此一個Linux新手是根本不會嘗試編譯內核的。這篇文章中展示了一些在使用「make xconfig」命令編譯內核過程中的截圖。
使用這個命令(「make xconfig」),用戶可以通過圖形用戶界面(GUI)和滑鼠來對內核進行處理。
這里有差不多40張截圖,它們解釋了在某種特定的情況下為什麼你需要或不能選擇某個特定的內核選項(options)。
將這40幅截圖逐一討論看上去似乎有些誇張,但這的確是解釋內核的內部工作機理(internal
workings)以及特定內核選項存在的原因和工作原理的比較好的方法。
這些截圖是kernel-2.4.6的。最新的內核是2.4.19,但是除去在菜單中有一些新的項目(e.g.對新硬體的支持)以外,
屏幕的顯示以及編譯的過程應該是一樣的。建議你在開始編譯前把這篇文章列印出來,這樣你就可以隨時查找必要的信息!
本文的結構如下。首先討論你在Internet的什麼地方能夠找到內核的源碼以及如何安裝這些源碼,
然後通過屏幕截圖討論使用圖形界面配置內核。 一旦內核配置完畢,它就需要被編譯,但是一個新編譯的內核並不能直接使用。
首先,新內核需要和引導程序「lilo」一起安裝,然後,在使用lilo前你必須寫配置文件「/etc/lilo.conf」。
另外,還有需要指出一些特殊的要點(specific points),比如筆記本電腦需要的PCMCIA支持。
看上去象信用卡的PCMCIA,小型板卡(small inserts)通常負責聯網任務,在2.4.x的內核中已經可以直接提供支持。
但之前的內核需要重新編譯安裝後才能提供PCMCIA支持。SuSE Linux還有一個問題,那就是ALSA音效卡驅動程序的音效支持。
這些驅動程序並不是內核的一部分,它們需要被編譯進去然後重新安裝,因為原始的驅動程序通常沒有工作。
更麻煩的是,從一個系列的內核轉到另一個系列的內核,比如從2.2.x系列轉到2.4.x系列, 可能會由於使用某種(某些)內核工具(kernel
utilities)而產生一些問題。 這就是所謂的「motils」(譯者註:可以看為「Moles
Utilities」的所寫,這樣就不會對這個名稱感到費解了),包括代碼(code)需要載入(load)的內核模塊(kernel
mole):圖3解釋了什麼是內核模塊。 有時新內核不知道如何處理老的motils,所以你必須編譯和安裝更新版本的motils。
這樣的問題雖然不多但是它們的確存在,而且目前只能預先指出它們。
但是如果你完全按照本文的步驟進行,幾乎不會發生錯誤。新內核被添加到lilo,或者被復制()到loadlin所在的分區。
因此,在緊急情況下,你仍然可以通過老內核啟動機器。然後可以在老內核下試著解決新內核的問題。
即使你遇到motils的問題,你也可以從老內核重新啟動計算機,然後通過將它們(內核和motils)分別編譯和安裝來修復(fix)這個問
題: 所有新版本的motils都對老內核向下兼容,所以新motils在老內核下可以很好的工作。
『叄』 怎樣才能把framebuffer正確編譯進內核
GRUB配置文件 grub.conf 里現在使用的內核的 kernel 一行最後加上vga=ask(前面加空格和別的部分隔開); 重啟linux,會停在一個系統支持解析度列表的界面,選擇想要的解析度進入。 進系統後應該有framebuffer開啟,有設備文件 /dev/fb0 。
『肆』 beaglebone black 編譯內核時出現問題
更改文件 drivers/gpu/drm/tilcdc 下的Kconfig
改為如下
config DRM_TILCDC
tristate "DRM Support for TI LCDC Display Controller"
depends on DRM && OF && ARM
select DRM_KMS_HELPER
select DRM_KMS_CMA_HELPER
select DRM_GEM_CMA_HELPER
select OF_VIDEOMODE
select OF_DISPLAY_TIMING
select BACKLIGHT_CLASS_DEVICE
help
Choose this option if you have an TI SoC with LCDC display
controller, for example AM33xx in beagle-bone, DA8xx, or
OMAP-L1xx. This driver replaces the FB_DA8XX fbdev driver.
『伍』 LINUX內核編譯
到kernel.org下載最新的內核,然後解壓, cd 到你解壓的目錄
1. make menuconfig
2. make -j4
3. make moles_install
4. make install
---------------------------------------
OK!
『陸』 linux kernel 4支持checkpoint么
androidkernel和linxukernel比較,Android系統的Kernel主要增加如下內容「 基於ARM架構增加Gold-Fish平台,相應增加的目錄如下: kernel/arch/arm/mach-goldfish kernel/include/asm-arm/arch-goldfish Gold-Fish平台採用的是ARM926TCPU作為BaseBand處理器,該CPU主頻至少為200MHZ.而要流暢運行Android系統的CPU主頻至少要在400MHZ以上,也就是說如果你要上Android系統,最好是選用基於ARM11及以上平台進行開發。 2.增加了yaffs2FLASH文件系統,增加的目錄為:kernel/fs/yaffs2 實際上,Android包經過編譯後生成的system.img和ramdisk.img文件就yaffs2格式的包. 3.增加了Android的相關Driver,相應目錄為: kernel/drivers/android 主要分為: AndroidIPC系統:Binder Android日誌系統:Logger Android電源管理:Power Android鬧鍾管理:Alarm Android內存控制台:Ram_console Android時鍾控制的gpio:Timed_gpio 4.增加了switch處理,相應的目錄為:kernel/drivers/switch/ 5.增加了一種新的共享內存處理方式,相應增加的文件為:kernel/mm/ashmem.c 6.其他為Linux-2.6.25內核所做的補丁等等,例如BlueTooth, 另外GoldFish平台相關的驅動文件如下: 1.字元輸出設備: kernel/drivers/char/goldfish_tty.c 2.圖象顯示設備:(FrameBuffer) kernel/drivers/video/goldfishfb.c 3.鍵盤輸入設備: kernel/drivers/input/keyboard/goldfish_events.c 4.RTC設備:(RealTimeClock) kernel/drivers/rtc/rtc-goldfish.c 5.USBDevice設備: kernel/drivers/usb/gadget/android_adb.c 6.SD卡設備: kernel/drivers/mmc/host/goldfish.c 7.FLASH設備: kernel/drivers/mtd/devices/goldfish_nand.c kernel/drivers/mtd/devices/goldfish_nand_reg.h 8.LED設備: kernel/drivers/leds/ledtrig-sleep.c 9.電源設備: kernel/drivers/power/goldfish_battery.c 10.音頻設備: kernel/arch/arm/mach-goldfish/audio.c 11.電源管理: kernel/arch/arm/mach-goldfish/pm.c 12.時鍾管理: kernel/arch/arm/mach-goldfish/timer.c
『柒』 Linux內核編譯要用什麼工具
GNU toolchain工具鏈
包含binutils/gcc/glibc
binutils包含鏈接器,匯編器等處理obj文件的工具
gcc是編譯器
glibc是GNU的標准C庫
這是一個最小集合,除此之外工具鏈還有其他的一些工具,比如:
make,tar,ncurses等等
參考資料是如何從源代碼構造Linux(LFS)關於工具鏈的說明
『捌』 我在Ubuntu10.10中成功編譯好linux內核後在kernel version 中顯示 2.6.29-gb0d93fb-drirty
dirty表示內核的源碼是dirty的,至於這個dirty是什麼意思,我還真不知道,我以為是代碼有小bug,不簡潔什麼的,如果你看源碼,會有XXX-dirty這種文件
『玖』 Linux0.11內核編譯後可不可以運行程序
能運行,只是0.11的版本功能比較少,比較傻瓜,所以並不能很好的支持現在各種應用程序,只能是簡單的而已。為何要用這個跑程序,現在的0.11的作用只能為了那些學習內核知識的人,畢竟簡單,我就研究過這個代碼,對基礎支持了解很有幫助。跑程序就沒必要了。
『拾』 編譯內核,支持ntfs的步驟
1. # cd /usr/src/linux-2.4
2. # make menuconfig
3. 選中File System下的NTFS file system support (read only)為M
4. # uname -a
2.4.21-27.0.2.EL
5. # vi Makefile
確保前幾行為
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 21
EXTRAVERSION = -27.0.2.EL
6. # make dep
7. # make moles SUBDIRS=fs/ntfs
8. # mkdir /lib/moels/2.4.21-27.0.2.EL/kernel/fs/ntfs
9. # cp -f fs/ntfs/*.o /lib/moels/2.4.21-27.0.2.EL/kernel/fs/ntfs/
10. # depmod -a
11. # modprobe ntfs
12. # lsmod
確保有ntfs在裡面,更多內容請查看《Linux就該這么學》。