LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2899|回复: 13

请问gentoo的无缝升级原理,其中是否包括新内核的升级?

[复制链接]
发表于 2008-4-18 09:59:04 | 显示全部楼层 |阅读模式
新内核是直接在升级中包括了,还是不包括,需要自己编译替换?
发表于 2008-4-18 10:08:59 | 显示全部楼层
louislam



注册会员  
  注册日期: Jul 2007
  帖子: 4
  精华: 0

       

标题: 请问arch的无缝升级原理,其中是否包括新内核的升级?

新内核是直接在升级中包括了,还是不包括,需要自己编译替换?

http://www.linuxsir.cn/bbs/thread327206.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-18 10:14:49 | 显示全部楼层
我分开问问,有问题么? 你懂就答嘛,寻开心?
回复 支持 反对

使用道具 举报

发表于 2008-4-18 11:16:08 | 显示全部楼层
需要自己编译
回复 支持 反对

使用道具 举报

发表于 2008-4-18 12:23:20 | 显示全部楼层
gentoo 是source based 的disto, 所以对于内核,它只是负责让你的/usr/src/linux 指向最新的kernel source。 (USE symlink),要升级kernel,还是要自己编译一个的。
其他升级的原理和其他的disto相似。
回复 支持 反对

使用道具 举报

发表于 2008-4-18 12:53:10 | 显示全部楼层
但是升级实际上很简单
我的kernel_compile脚本
升级时,只需要敲几个回车键即可
#!/bin/sh
KBUILD_OUTPUT=/var/tmp/kernel_build
sudo rm -rf ${KBUILD_OUTPUT}
mkdir ${KBUILD_OUTPUT}
cd ${KBUILD_OUTPUT}
if grep '/boot' /etc/fstab && ! grep '/boot' /etc/mtab; then
        sudo mount /boot
fi
cp /boot/config .config
make -C /usr/src/linux O=${KBUILD_OUTPUT} oldconfig
echo -n "make menuconfig? [Y/n]:"
read yes
if [[ "x$yes" == xy || "x$yes" == x ]]
then
        make O=${KBUILD_OUTPUT} menuconfig
fi
make && sudo sh -c "make install && make modules_install && umount /boot"
回复 支持 反对

使用道具 举报

发表于 2008-4-18 12:53:13 | 显示全部楼层
但是升级实际上很简单
我的kernel_compile脚本
升级时,只需要敲几个回车键即可
#!/bin/sh
KBUILD_OUTPUT=/var/tmp/kernel_build
sudo rm -rf ${KBUILD_OUTPUT}
mkdir ${KBUILD_OUTPUT}
cd ${KBUILD_OUTPUT}
if grep '/boot' /etc/fstab && ! grep '/boot' /etc/mtab; then
        sudo mount /boot
fi
cp /boot/config .config
make -C /usr/src/linux O=${KBUILD_OUTPUT} oldconfig
echo -n "make menuconfig? [Y/n]:"
read yes
if [[ "x$yes" == xy || "x$yes" == x ]]
then
        make O=${KBUILD_OUTPUT} menuconfig
fi
make && sudo sh -c "make install && make modules_install && umount /boot"
回复 支持 反对

使用道具 举报

发表于 2008-4-18 12:54:18 | 显示全部楼层
无缝升级没有什么所谓原理
就是不断升级,如果遇到大的变动,官方会提供指南
就像openrc
回复 支持 反对

使用道具 举报

发表于 2008-4-18 12:54:20 | 显示全部楼层
无缝升级没有什么所谓原理
就是不断升级,如果遇到大的变动,官方会提供指南
就像openrc
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-23 04:43:53 | 显示全部楼层
Post by zhllg;1839579
但是升级实际上很简单
我的kernel_compile脚本
升级时,只需要敲几个回车键即可
#!/bin/sh
KBUILD_OUTPUT=/var/tmp/kernel_build
sudo rm -rf ${KBUILD_OUTPUT}
mkdir ${KBUILD_OUTPUT}
cd ${KBUILD_OUTPUT}
if grep '/boot' /etc/fstab && ! grep '/boot' /etc/mtab; then
        sudo mount /boot
fi
cp /boot/config .config
make -C /usr/src/linux O=${KBUILD_OUTPUT} oldconfig
echo -n "make menuconfig? [Y/n]:"
read yes
if [[ "x$yes" == xy || "x$yes" == x ]]
then
        make O=${KBUILD_OUTPUT} menuconfig
fi
make && sudo sh -c "make install && make modules_install && umount /boot"

谢谢张乐和wsw,回头研究下这个,

不过为什么不能在emerge --update --deep --newuse world 或者类似命令时顺便把新内核也升级了呢?

是因为source based的distro都需要如此,还是因为稳定性才要自己编译新的保留旧的然后手动替代?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表