中国青基会
RSS
热门关键字:  None  linux+moodle安装  mac  rhel5  199
当前位置 : Nixsky>BSD>NetBSD>列表

netbsd升级

来源: 作者: 时间:2007-04-24 点击:
1,升级稳定版本

升级源代码

    如果你正在运行netbsd的发行版本(比如netbsd2.0),可能需要升级原代码,重建系统或者kernel,主要是为了安全补丁.

    你可以通过anoncvs 和bransh tag升级当前版本的原代码.比如,checkout你的netbsd2.0原代码,你可以这样做:

        $ echo "Host                    anoncvs.allbsd.org\
            Port                    2022\
            Protocol                2" >> ~/ssh/config
        $ cd /usr
        $ env CVS_RSH=ssh cvs -d anoncvs-netbsd@anoncvs.allbsd.org:/cvsroot co -r netbsd-2-0 -P src
        
        如果是升级原代码:
        $ cd /usr/src
        $ env CVS_RSH=ssh cvs update -dP

下面就是编译一个新kernel

        (译者:先说说编译kernel的方法,现在可以使用2中方法.先说说老的方法)

        
            1,取得原代码src
            2,cd /usr/src/arch/i386(or other arch)/conf
            3,cp GENERIC mykern
            4,编辑mykern(根据你的需要:比如添加参数options,去掉不用的驱动,参数等等)

                这里要说的怎么知道你的机器有那些设备呢.
                    dmesg|grep '  at  '|more你会看到你的机器的设备.
                    如:[device] at dd
            5,config mykern
                这个命令为编译kern创建一个目录mykern
                根据错误的信息纠正mykern里的配置,如果一切正常.则继续下一步
            6,转到编译目录cd ../compile/mykern
            7,make dpend
            8,make
            9,好了,kernel编译完成了.我的p42.4机器上,大概10分钟.

            10,mv /netbsd /netbsd.old
                备分老的kernel为netbsd.old
              mv /usr/src/sys/arch/i386/compile/mykern/netbsd   /
                使用新kernel

            11,reboot

                现在我们使用的就是新kernel了.可以通过uname -a看看.
            12.如果新kernel有问题.则可以继续使用老kernel,启动的时候按空格健,然后boot netbsd.old -s
                进去后,mv /netbsd.old /netbsd
                重起,这样又使用老kernel了.
        
        第2个方法是使用build.sh

            1,cd /usr/src
            先看看UPDATING ./build.sh -h帮助

            build.sh使用很简单.大致的形式是这样的


            ./build.sh 参数 target target...(targe主要是tools build distribution kernel install...)

                升级稳定版本一般不需要升级/etc/所以我们使用build,注意哟.

                当我们设定好kernel的配置文件后,即mykern后(你可以通过上面的config mykern看看有错误没有,有就根据提示纠正)
                进入编译状态:

                    ./build.sh -u -U tools
                    ./build.sh -u -U kernerl=mykern

                成功后,使用新kernel的方法同上._)

升级userland(基本库,程序,/ /sbin bin /usr中除pkg的部分)

            ./build.sh -u -U build(我的.p42.4上需要40分钟)
    安装新的userland
            ./build.sh -U install=/

完毕.

如果我们不想编译整个系统,只对其中需要打补丁的部分升级,怎么办呢?

        1,打补丁
            通过cvs up 或者patch

        2,到需要升级的软件目录下,比如/sendmail
            cd gnu/usr.sbin/sendmail
            make USETOOLS=no cleandir dependall
            make USETOOLS=no install

其他:

    建议使用cpuflags这个工具.它根据你的机器自动优化编译的参数,需要将其配置文件放入/etc/mk.conf中.

------------------------------------------

2升级到current

http://www.netbsd.org/Documentation/current/

上面说的是升级稳定的版本,如果是升级到current.(netbsd基本的就两个,release和current,你可以看看他们的branch tag:http://mail-index.netbsd.org/netbsd-announce/2005/01/13/0000.html)

    你可以参照这篇文章.

        
NetBSD 从源代码升级到current的一点体会
http://www.linuxsir.org/bbs/showthread.php?t=129314
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册