debian升级内核到2.6.31.1

折腾了一天,终于把debian的内核从2.6.18升到了2.6.31,期间甚是坎坷啊。

首先下载最新的内核源码,我选了2.6.31版的,
下载后,
tar -xjf linux-2.6.31.1.tar.bz2

cd linux-2.6.31.1

cp /boot/config-2.6.18-4-686  .config

这时才发现生成内核的几个工具 make-kpkg和mkinitrd都还没有

apt-get install kernel-package 装make-kpkg
apt-get install initrd-tools 装mkinitrd

不过貌似163的源里找不到这两个工具包,不知道为什么

接着

make-kpkg clean
make-kpkg kernel_image

在第二行命令的时候运行时间比较长,刚开始会让你回答一些问题,一路按回车即可。

N久后,执行完毕

cd ..
dpkg -i linux-image-2.6.31.1_2.6.31.1-10.00.Custom_i386.deb

这个时候出现问题了,在copy一个文件到 /lib 下时,报错没空间了,

df 看了一下,“/”目录已经100%了,lib是挂在根目录上的,同时挂在根目录上的还有 /opt /etc 等。想清理一下,发现这些目录下面的东西都还有用,没办法,把手头另外一块硬盘挂上了。

首先
fdisk -l ,看看这块硬盘找到了吗,显示/dev/sdb,还不错 找到了

fdisk /dev/sdb
"n"创建一个主分区/dev/sdb1,分出10G空间
"t"选择分区类型,"83"指定为linux
"w"保存退出
然后 mkfs.ext3 /dev/sdb1,格式化成ext3格式

完毕后 这时候重启一下linux,以确保系统能够认出来

重启完毕后,
mkdir /newfs
mount -t ext3 /dev/sdb1 /newfs
,哈哈 把分区挂上了

然后我把稍微占空间的/opt目录转移到新分区里去

1. init 1,进入单用户模式
2. cp -a /opt/* /newfs
3. umont /newfs
4. mv /opt /var/opt.bak
5. mv /newfs /opt
7. mount -t ext3 /dev/sdb1 /opt
,然后修改 /etc/fstab ,加入
/dev/sdb1 /opt ext3 default3 1 1 ,确保系统每次启动后都自动挂载

教训:千万不要乱动/lib /usr /sbin目录,一旦操作不当系统就会挂掉

这时腾出来不少空间

重新
dpkg -i linux-image-2.6.31.1_2.6.31.1-10.00.Custom_i386.deb
安装成功
,然后

mkinitrd -o initrd.img /lib.modules/2.6.31.1 ,后面这个目录是在安装的时候生成的,千万不要敲错否则生不成image

然后
update-grub
,重启就可以了

 

你可能感兴趣的:(debian升级内核到2.6.31.1)