分页: 1 / 1
求助】内核移植后不能正常引导
发表于 : 2017-12-20 15:06
由 wang161x
编译好的内核,重启之后可以使用,但移动到另外一块硬盘上不能正常启动怀疑是缺少grub文件,手动创建之后仍然不能启动,求助ing

Re: 求助】内核移植后不能正常引导
发表于 : 2017-12-20 15:10
由 poloshiao
目前 有可以登入的 kernel 版本 可以開機登入嗎 ?
Re: 求助】内核移植后不能正常引导
发表于 : 2017-12-20 15:12
由 wang161x
有的,是在虚拟机上的
Re: 求助】内核移植后不能正常引导
发表于 : 2017-12-20 15:29
由 wang161x
下载好源码包之后,用root用户登陆系统,将源码包放到/usr/src目录下,用归档管理器解压到当前目录或者用下面的命令解压。
tar -xf linux-4.2.2.tar.xz解压好了以后,cd入linux-4.2.2文件夹。
cd linux-4.2.2然后就可以开始配置内核选项了,但是内核选项多的真是令人发指,其实用默认的就好,跟着我的命令一起来做。
make menuconfig#执行这个操作如果出现报错的话,需要解决一个软件包依赖问题,输入以下命令即可解决(没出现报错的不用管):
apt-get install libncurses5-dev然后我们来看看menuconfig里的选项,回车完先是加载了几个文件,然后应该会出现这样一个玩意:
在这个界面里,*代表yes,空代表no,M代表模块化(被其它选项所包括),默认不去动它就好,再说选项那么多你真打算一个一个看么。
方向键上下可以控制上下切换条目,左右键可以在下方的操作栏切换(<Select>/<Exit>/<Help>/<Save>/<Load>)。
直接切换到 <Save> 然后敲回车即可,提示保存文件名为.config,直接敲回车 <Ok> ,提示配置文件已写入.config,然后再敲一次回车 <Exit> 。
之后又回到了最初的那个界面,切到 <Exit> 敲回车退出即可。
上面操作全部完成之后,就可以开始make内核了。
makemake的时间会非常长,也可能是我配置太差的原因,我是花了3小时才make完。
make完成之后,就可以安装内核模块了。
make modules_install这个速度会很快,我5分钟内就完成了,完成之后直接make install安装新内核。
make install安装完成后会自动修改grub,重启默认以新内核启动,可以重启后用uname -r命令查看。
谈后在/boot下生成一个img文件,有人说他是一个gz文件,可以用zcat/boot/initramfs-3.2.96-1.el /mnt /dev/sdc
但是我的img文件是一个initramfs-3.2.96-2.el5.img.gz: ASCII cpio archive (SVR4 with no CRC)这是怎么回事呢?
Re: 求助】内核移植后不能正常引导
发表于 : 2017-12-20 15:31
由 wang161x
cpio -id initramfs-3.2.96-2.el5.img.gz 使用这个可以查看文件,但是没有发现init文件,应该是那个地方不对,我估计问题出在img文件上,但不知到该怎么办
Re: 求助】内核移植后不能正常引导
发表于 : 2017-12-20 16:03
由 poloshiao
Re: 求助】内核移植后不能正常引导
发表于 : 2017-12-20 16:18
由 科学之子
wang161x 写了:cpio -id initramfs-3.2.96-2.el5.img.gz 使用这个可以查看文件,但是没有发现init文件,应该是那个地方不对,我估计问题出在img文件上,但不知到该怎么办
貌似正确过程是先用gzip解压gz格式,然后用cpio看解压出来的cpio镜像
gz 和 cpio 是两个不同的格式.
cpio 本身只是将多个文件打包成一个文件,不具备压缩功能
gzip 用途只是负责压缩 cpio文件.
initramfs还可以指定别的压缩格式
Re: 求助】内核移植后不能正常引导
发表于 : 2017-12-23 18:56
由 funicorn
wang161x 写了:cpio -id initramfs-3.2.96-2.el5.img.gz 使用这个可以查看文件,但是没有发现init文件,应该是那个地方不对,我估计问题出在img文件上,但不知到该怎么办
进入外部系统环境,chroot到本地/系统,使用 update-initramfs -u -k <kernel_version>来重建文件系统镜像。