chalizhao 发表于 2012-11-09 17:24

freebsd8.2升级成freebsd9.0远程操作ssh

freebsd8.2源码ssh远程升级成freebsd9.0的操作步骤.

freebsd8.2升级成freebsd9.0远程操作ssh


需要进入单用户模式,这个远程通过ssh估计搞不定啊,有没有别的办法,谁试过么


一,源代码更新
ee /usr/share/examples/cvsup/standard-supfile
修改host和tag就行了
*default release=cvs tag=RELENG_8_2 修改为 *default release=cvs tag=RELENG_9_0
cvsup -g -L 2 /usr/share/examples/cvsup/standard-supfile源代码更新
二,编译world
# cd /usr/src
# make buildworld
# cd /usr/src/sys/amd64/conf/
# mkdir ~/kernconf/ && cp GENERIC ~/kernconf/MYKERNEL
# ln -s ~/kernconf/MYKERNEL
----------------------------------------------
编辑“MYKERNEL            
#dmesg > hardware   #获得当前设备资源列表
#ee hardware
就可以查看机器的硬件配制了接下来开始修改配置文件
ee MYKERNEL
其中我的改动有:
ident    GENERIC    =>      ident    MY_KERNEL
这个是内核的名字,以此来与之前的内核相区分
接下来的大部分是操作系统核心相关的东东,如文件系统,进程调度等,大部分我都是直接保留,注释掉了

ipv6 相关的选项以及与FreeBSD4兼容的选项,因为我在FreebSD.org上看到的amd64 架构是从FreeBSD5.3 开

始的
ident         MYKERNEL      #内核标记名称
options       QUOTA         #启用磁盘配额
开smp
众多定制品牌驱动,
常用的MSDOS, CD9660在GENERIC内核(系统默认内核)中已有,而Linux的ext2fs没有,为了对ext2fs的支持,

在内核中增加一行:
options "EXT2FS"
确保内核中有如下项
device scbus
device da
device cd在GENERIC中默认都有,如果没有,请编译内核。
在内核里面加入options EXT2FS,编译内核。
然后编译内核,注释掉options CD9660
options MSDOS
---------------------------------------
本节的例子基于FreeBSD-4.8,并可以在任何FreeBSD-4和5系列的后续版本上运行。要激活IP包转发,

在/etc/sysctl.conf中增加如下行:
net.inet.ip.forwarding=1
需要在内核中激活2个特殊选项。假如你不知道如何编译内核,参见FreeBSD Handbook第9章

(http://www.freebsd.org/handbook/index.html). 编辑内核配置文件,确保有如下行:
options          IPFIREWALL
options          IPFIREWALL_FORWARD

假如squid主机位于无人照看的机房中,我也推荐使用IPFIREWALL_DEFAULT_TO_ACCEPT选项。假如你被防火墙

的规则困扰,仍然可以
登陆
系统中。ipfw命令告诉内核重定向拦截连接到squid:

编辑你的内核配置文件,增加如下一行:
options       MAXFILES=204800
Freebsd,NetBSD,OpenBSD (1)Freebsd,NetBSD:内核配置文件增加一项 options MAXFILES=204800

# Every socket is a file, so increase them
kern.maxfiles=204800
kern.maxfilesperproc=200000
kern.maxvnodes=200000
===================================================
# cd /usr/src
# make buildkernel KERNCONF=MYKERNEL
我定制了内核,所以要执行
# make installkernel KERNCONF=MYKERNEL
kernel安装完成后,可以重启系统了。
===========================
问题是需要进入单用户模式,这个远程通过ssh估计搞不定啊,有没有别的办法,谁试过么
# cd /usr/src
# make installworld
将会安装好新的world。
第二次更新配置文件
# mergemaster
==================================================================
找下delphij的,分区用dd模式会导致失败.
主要是磁盘命名改了,如ad0s1a -> ad0a,
如果系统已经重启到mountroot>那,
改一下就可以进入系统. 如果是远程就没办法.
=============================
今天成功升级过:
1. 单用户下glable给磁盘建标签.
2. 正常make world ,make kernel.
3. 重启到单用户, 做mergemaster.
4. 返回多用户.

注: 磁盘使用dd模式进行分区.

zmoon 发表于 2012-11-09 19:41

从7.0RC->7.1->8.0RC->8.1->9.0rc->9.1rc这四五年的一路在线远程升级过来的,没有进入单用户模式。

lsstarboy 发表于 2012-11-09 23:01

不需要进单用户模式。
页: [1]
查看完整版本: freebsd8.2升级成freebsd9.0远程操作ssh