初次尝试编译内核,失败了,(无法挂载root)。有几个问题!
我先说我的操作步骤:1、下载内核到主目录,2、解包内核到当前目录(~),3、切换到该目录,直接make menuconfig , make , make install。4、make install 出错,找不到某个命令,于是直接把新生成的vmlinuz拷到/boot,配置menu.lst,发现没有initrd,于是mkinitrd,提示没有该命令。借用以前的initrd,启动时貌似内核载入了,挂载root(/dev/sda3)出错,没有找到该设备!
我的问题:每一个教程都要求做一个软连接,连接到源代码。这步是什么意思?
配置完毕后怎么生成新内核?
对于其他构架的内核,例如要生成arm构架的,是否要使用交叉编译?如何做呢?
生成新内核后initrd怎么生成?除了要生成initrd还要生成其他东西吗?例如system.map?
注:我不在debian体系下。。。。
编译内核的几个问题!
- cnkilior
- 论坛版主
- 帖子: 4984
- 注册时间: 2007-08-05 17:40
- cnkilior
- 论坛版主
- 帖子: 4984
- 注册时间: 2007-08-05 17:40
看来我的问题都要自问自答了!
我安装好了mkinitrd后重编了一次,花了我40+分钟,
回答我的问题:
1:有必要吗?不太清楚,也许会影响到mkinitrd auto?未加考证
2:新内核生成了,bzImage?怎么不是vmlinuz?
3:编译的时候要加上arch=xxx cross(忘了,在坛子一贴上留名了,呵呵)
4:不知道!
新的问题!
1:为什么不是vmlinuz?
2:是不是我把sata支持去掉了,所以root=/dev/sda3 错了,改成hda3就好了。改了后fsck出错,也是超块的问题!貌似和坛子里一个人的问题一样,留名了!
我安装好了mkinitrd后重编了一次,花了我40+分钟,
代码: 全选
make clean
make menuconfig
make
mkinitrd auto
cp ~/l(tab)/arch/i386/bzImage /boot
cd /boot/grub
vi menu.lst
1:有必要吗?不太清楚,也许会影响到mkinitrd auto?未加考证
2:新内核生成了,bzImage?怎么不是vmlinuz?
3:编译的时候要加上arch=xxx cross(忘了,在坛子一贴上留名了,呵呵)
4:不知道!
新的问题!
1:为什么不是vmlinuz?
2:是不是我把sata支持去掉了,所以root=/dev/sda3 错了,改成hda3就好了。改了后fsck出错,也是超块的问题!貌似和坛子里一个人的问题一样,留名了!
上次由 cnkilior 在 2008-05-31 10:28,总共编辑 1 次。
-
- 帖子: 333
- 注册时间: 2007-05-13 15:20