当前位置: 技术问答>linux和unix
急!!Linux内核编译问题
来源: 互联网 发布时间:2015-04-20
本文导语: 我在做linux内核编译,是这样的,我只是想做个实验,看看自己编译内核是个什么过程。 先要说明,我是很菜的哦。 我装的是redhat8.0,我先把linux2.4.18-14文件夹拷到别的地方,然后在刚才的拷贝文件夹下编译(我怕在...
我在做linux内核编译,是这样的,我只是想做个实验,看看自己编译内核是个什么过程。
先要说明,我是很菜的哦。
我装的是redhat8.0,我先把linux2.4.18-14文件夹拷到别的地方,然后在刚才的拷贝文件夹下编译(我怕在系统装好后的文件夹下编译把文件都搞乱了,小心翼翼~~~~~~)。
我先
运行make xconfig命令后,所有的配置选项我都没有更改,然后点击save & exit按钮。
之后按部就班的一步步来,然后是将编译好的内核放到/boot目录下。
然后
配置lilo文件,我把系统自带的那一段启动配置拷了下来,只是把那个image=/boot/选项改成
image=/boot/MyNewKernel
其中MyNewKernel是我编译的新内核的名称(大小写均相同),在append="..."也作了相应更改。
lilo.conf保存后
执行/sbin/lilo命令
然后执行reboot
出现开机画面后,选择我刚才编译的内核,屏幕运行到
ide0 。。。(英文)
ide1 。。。(英文)
时就停住了,过不去。
后来我把装机后最原始的内核名称改成MyNewKernel后再启动,还是同样的问题。
但如果在image=/boot/ 后写装机后最原始的内核名称则可以顺利启动。
顺便说一下,我在C盘装的是Win2000日文版,D盘装的是RedHat8.0,E、F盘装的是其它私人东西。D盘的空间>8G。
为什么会出现这样的问题啊???
谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢!!!!!!!!!!!!!!
先要说明,我是很菜的哦。
我装的是redhat8.0,我先把linux2.4.18-14文件夹拷到别的地方,然后在刚才的拷贝文件夹下编译(我怕在系统装好后的文件夹下编译把文件都搞乱了,小心翼翼~~~~~~)。
我先
运行make xconfig命令后,所有的配置选项我都没有更改,然后点击save & exit按钮。
之后按部就班的一步步来,然后是将编译好的内核放到/boot目录下。
然后
配置lilo文件,我把系统自带的那一段启动配置拷了下来,只是把那个image=/boot/选项改成
image=/boot/MyNewKernel
其中MyNewKernel是我编译的新内核的名称(大小写均相同),在append="..."也作了相应更改。
lilo.conf保存后
执行/sbin/lilo命令
然后执行reboot
出现开机画面后,选择我刚才编译的内核,屏幕运行到
ide0 。。。(英文)
ide1 。。。(英文)
时就停住了,过不去。
后来我把装机后最原始的内核名称改成MyNewKernel后再启动,还是同样的问题。
但如果在image=/boot/ 后写装机后最原始的内核名称则可以顺利启动。
顺便说一下,我在C盘装的是Win2000日文版,D盘装的是RedHat8.0,E、F盘装的是其它私人东西。D盘的空间>8G。
为什么会出现这样的问题啊???
谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢!!!!!!!!!!!!!!
|
问题是你的核心配置有问题:
你应该检测关于硬盘的配置,不要使用 旧的硬盘驱动。
改动lilo的时候,编辑 /etc/lilo.conf文件,不要删除原来的,而应该添加自己的。举例如下:
在/etc/lilo.conf文件的末尾添加:
image=/mykernel
label=mykernel
read-only
root=/dev/hda2
然后存盘退出。这样再运行 lilo -v启动后就有两个选项,进入mykernel选项就可以进入新的核心。这样比较方便。
你应该检测关于硬盘的配置,不要使用 旧的硬盘驱动。
改动lilo的时候,编辑 /etc/lilo.conf文件,不要删除原来的,而应该添加自己的。举例如下:
在/etc/lilo.conf文件的末尾添加:
image=/mykernel
label=mykernel
read-only
root=/dev/hda2
然后存盘退出。这样再运行 lilo -v启动后就有两个选项,进入mykernel选项就可以进入新的核心。这样比较方便。
|
下载的文件拷贝到/usr/src目录下,
解压 bzip -dc linux-2.xxx.tar.bz2 | tar xvf -
mv linux-2.xxx lunux
配置: cd /usr/src/linux
make xconfig(如果你有X windows,否则 make menuconfig 或 make config )
如果想使用老的配置省事话: make oldconfig
保存并退出
编译: make
make clean bzImage modules modules_install
安装新内核:
cp /usr/src/linux/vmlinux /boot/vmlinux-2.4.20
cp /usr/src/linux/System.map /boot/System.map-2.4.20
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.20
rm -f /boot/System.map
rm -f /boot/vmlinuz
ln -s /boot/System.map-2.4.20 System.map
ln -s /boot/vmlinuz-2.4.20 vmlinuz
编辑grub : vi /boot/grub/grub.conf
添加如下内容
boot = .....[记不清了,把以前的那一行复制过来就可以了:),Label改成最新的版本号]
image = vmlinuz-2.4.20
initrd = vmlinux-2.4.20
如果编译过程当中提示一些错误,请检查以下内容,gcc 版本2.2.6以上,
如果你以前的内核版本太低的话,请下载最新版本的 kernel-utils,
www.kernel.org/http
解压 bzip -dc linux-2.xxx.tar.bz2 | tar xvf -
mv linux-2.xxx lunux
配置: cd /usr/src/linux
make xconfig(如果你有X windows,否则 make menuconfig 或 make config )
如果想使用老的配置省事话: make oldconfig
保存并退出
编译: make
make clean bzImage modules modules_install
安装新内核:
cp /usr/src/linux/vmlinux /boot/vmlinux-2.4.20
cp /usr/src/linux/System.map /boot/System.map-2.4.20
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.20
rm -f /boot/System.map
rm -f /boot/vmlinuz
ln -s /boot/System.map-2.4.20 System.map
ln -s /boot/vmlinuz-2.4.20 vmlinuz
编辑grub : vi /boot/grub/grub.conf
添加如下内容
boot = .....[记不清了,把以前的那一行复制过来就可以了:),Label改成最新的版本号]
image = vmlinuz-2.4.20
initrd = vmlinux-2.4.20
如果编译过程当中提示一些错误,请检查以下内容,gcc 版本2.2.6以上,
如果你以前的内核版本太低的话,请下载最新版本的 kernel-utils,
www.kernel.org/http
|
你本来是用什么来引导系统的,linux默认的是grub,如果你用的lilo,你就改lilo,如果你用的grub,你改lilo,系统肯定启动不了。