從頭開始構建LINUX[內核更新和資料]

瞭解了LFS的內容後,至於內核的更新就一目瞭然了 http://www.cnblogs.com/2018/p/3979305.html http://www.cnblogs.com/2018/p/3981399.htmlhtml

不過有些資料LFS上也沒有,以下是概要的彙總了相關的資料linux

 

內核更新

http://jingyan.baidu.com/article/08b6a591f187ff14a809228a.html編程

一、內核版本顯示命令uname  -r       (uname查看操做系統信息,r選項查看內核版本)ubuntu

二、升級步驟工具

l         下載內核源碼包linux-2.6.38.8.tar.bz2ui

l         根目錄下建一個目錄    cd /         mkdir linux-2.6.38.8es5

l         複製源代碼到目錄中  cp linux-2.6.38.8.tar.bz2 linux-2.6.38.8        /linux-2.6.38.8/spa

l         解壓源碼包    tar xjvf linux-2.6.38.8.tar.bz2操作系統

l         進入解壓出的目錄       cd linux-2.6.38.8.net

l         執行make menuconfig配置內核並保存,注意CPU的選擇

l         執行內核make命令

l         編譯內核模塊 make modules

l         安裝內核模塊make modules_install

l         安裝內核make install

l         重啓計算機reboot

三、升級腳本install_new_core

       #!/bin/sh

       cd /

       mkdir linux-2.6.38.8

       cp linux-2.6.38.8.tar.bz2 linux-2.6.38.8

       cd linux-2.6.38.8

       tar xjvf linux-2.6.38.8.tar.bz2

       cd linux-2.6.38.8

       make menuconfig

       make

       make modules

       make modules_install

       make install

       reboot 

最後建立initrd 文件:  mkinitramfs -o /boot/initrd.img-linux-3.2.12

四、修改腳本權限並執行腳本chmod u+x install_new_core      ./install_new_core

http://blog.csdn.net/jinble03/article/details/7070982

有些linux版本在make install以後會自動生成initd.img和修改引導程序文件grub.cfg,可是ubuntu10.04並不會,因此就得咱們本身來搞定啦

首先是生成initrd.img。

mkinitramfs 2.6.38.8  -o  /boot/initrd.img-2.6.38.8

若是系統提示沒有安裝mkinitramfs,那就apt-get install mkinitramfs

接着修改引導程序文件grub.cfg

update-grub2

 

. 準備工做
切換爲管理員權限,sudo –i 輸入用戶密碼 進入root 權限
apt-get install build-essential kernel-package libncurses5-dev libqt3-headers
build-essential (基本的編程庫(gcc, make 等)
kernel-package (Debian 系統裏生成 kernel-image 的一些配置文件和工具)
libncurses5-dev (meke menuconfig 要調用的)

libqt3-headers (make xconfig 要調用的)

 

make install 之後,系統自動更新了啓動項,能夠cat /boot/grub/grub.cfg 看下.以前的啓動項不能刪除,若是編譯內核不成功,以前的啓動項又不見了,你的系統也就跪了

 

Linux內核更新

http://www.zhukun.net/archives/6172

Linux內核Ramdisk(initrd)機制

http://blog.csdn.net/ruixj/article/details/3772752

在早期的Linux系統中,通常就只有軟盤或者硬盤被用來做爲Linux的根文件系統,所以很容易把這些設備的驅動程序集成到內核中。可是如今根文件系統 可能保存在各類存儲設備上,包括SCSI, SATA, U盤等等。所以把這些設備驅動程序所有編譯到內核中顯得不太方便。在Linux內核模塊自動加載機制的介紹中,咱們看到利用udevd能夠實現實現內核模 塊的自動加載,所以咱們但願根文件系統的設備驅動程序也可以實現自動加載。可是這裏有一個矛盾,udevd是一個可執行文件,在根文件系統被掛載前,是不 可能執行udevd的,可是若是udevd沒有啓動,那就沒法自動加載根根據系統設備的驅動程序,同時也沒法在/dev目錄下創建相應的設備節點。爲了解 決這個矛盾,因而出現了initrd(boot loader initialized RAM disk)initrd是一個被壓縮過的小型根目錄,這個目錄中包含了啓動階段中必須的驅動模塊,可執行文件和啓動腳本。包括上面提到的udevd,當 系統啓動的時候,booload會把initrd文件讀到內存中,而後把initrd的起始地址告訴內核。內核在運行過程當中會解壓initrd,而後把 initrd掛載爲根目錄,而後執行根目錄中的/initrc腳本,您能夠在這個腳本中運行initrd中的udevd,讓它來自動加載設備驅動程序以及 在/dev目錄下創建必要的設備節點。在udevd自動加載磁盤驅動程序以後,就能夠mount真正的根目錄,並切換到這個根目錄中。

vmlinuz,Initrd和system.map

http://blog.csdn.net/powersaven/article/details/4107544

U盤安裝Linux系統

http://www.cnblogs.com/geekard/archive/2012/05/06/2486464.html

LiveCD

能夠直接引導爲可用 Linux 系統的 CD

http://blog.csdn.net/taochenchang/article/details/7622762

http://www.ibm.com/developerworks/cn/linux/l-fedora-livecd/index.html

GRUB2

http://linux-wiki.cn/wiki/Grub2%E9%85%8D%E7%BD%AE

相關文章
相關標籤/搜索