免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 双眼皮的猪
打印 上一主题 下一主题

编译内核相关问题.... [复制链接]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
11 [报告]
发表于 2003-10-30 11:46 |显示全部楼层

编译内核相关问题....

1) system.map 不用 copy ,它會自動更新。
2) Makefile 決定用甚麼版本。
3) 用 make install 或 make bzlilo 這類 target ,最好能了解它們底下做了些啥。
4) grub 只需改 menu.lst ,不需重灌 grub 。LILO 則不然。
5) menu.list 中的 root=(hdx,x) 的 root 是指 /boot partition
但 kernel 那行的 root=/dev/hdxx 則是指 / partition 。這點請留意。
6) 若 /boot 是獨立的 partition ,那 kernel 那行的 kernel image path 是從 / 下找(/boot partition),
要是 /boot 沒有切出來,那就要到 /boot/ 下找(/ paritition)
7) 要是用 SCSI 應碟,需要制作 initrd ,這除了要求在 kernel 中將 inittrd 編進 boot up 之外,還要產生正確的 module 才能 make initrd。
對開機流程了解一下,對 troubleshooting 很有幫助。
9) 任何時侯都建議 backup 及準備好 boot disk 。
10) 最後,多燒香拜佛、求神保祐...

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
12 [报告]
发表于 2003-10-30 15:12 |显示全部楼层

编译内核相关问题....

你再仔細看看 menu.lst 中的
root
kernel
這兩行,再回來重看我講的?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
13 [报告]
发表于 2003-10-30 15:38 |显示全部楼层

编译内核相关问题....

嗯... 我的理解是:
make modules 只是將 modules 產生在 /usr/src/linux-xxxx 底下。
make modules_install 才會 copy 到 /lib/modules/xxxx 那邊。

要不然跑一下如下流程:
# mv /lib/modules/xxx /lib/modules/xxx.bak
# make modules
# ls /lib/modules
# make modules_install
# !ls

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
14 [报告]
发表于 2003-10-31 13:10 |显示全部楼层

编译内核相关问题....

1) mkinitrd 需要先做出一個 virtual file system ,其內要有 etc, lib 等目錄,然後將相關 module 抄進去,也要設好 etc 的項目。最後用 mkinitrd 產生 image ,再置於 /boot 內,由 boot loader 讀取。

2) e2label 可用於 ext3 。其實 ext3 與 ext2 只差在 journaling 而已。表面來說,其它可被視為共通的。

3) 若 hdd 經常抽換的話,用 LABEL 比較靈活。不管插到哪個 IDE 或 master/slave ,或 SCSI ID,都抓得到。但,要是灌多重系統(主要學習用,真實工作環境中很少碰到),那就有可能碰到 LABEL 衝突。這時,用 /dev/hdxx 是較為精確,但就不夠靈活。自己選適合的及想辦法解決就是了。

4) ide 可以模擬為 scsi 。端視系統設定要求。若沒必要,盡量單純化。

5) 學習 grub 可從 info grub 開始。但要注意 grub 的 root(/) 跟 kernel 的 root(/) 是不一樣的。前者指 /boot 所在,後者才是 / 。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
15 [报告]
发表于 2003-10-31 13:14 |显示全部楼层

编译内核相关问题....

補:
grub 跟 fstab 用的 LABEL 都是一樣的。請 man e2label 。
但 fstab 是在 kernel 載入之後,進入開機程程序才被 init 讀取 remout 用的。grub 要讀取 LABEL ,則主要是要載入 kernel 。兩者的層次有別。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
16 [报告]
发表于 2003-11-03 13:12 |显示全部楼层

编译内核相关问题....

或許,看一下 Makefile ,比較一下 modules_install 跟 install 的差異就是了。

我個人覺得:
* install 是一個"自動"過程,裡面也包含了 modules_install

只要跑 modules_install ,那就會將 make modules 產生的 modules 複制到 /lib/modules/<version>; 之下。
若 <version>; 不存在,則建立之。
這個 <version>; 叫甚麼名字?請看 Makefile 前 5 行就有答案了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP