LinuxSir.cn,穿越时空的Linuxsir!

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

我的 make world 经历

[复制链接]
发表于 2004-7-4 19:01:06 | 显示全部楼层 |阅读模式
看到别人在 make world, 我心里也痒痒, 呵呵.

懒得去看 handbook 里关于 make world 的说明,
草草看了几篇 make world 的帖子, 就来实践了. :p

首先, 编辑了 /usr/share/examples/cvsup/standard-supfile

修改 *default host=CHANGE_THIS.FreeBSD.org
为   *default host=cvsup.FreeBSD.org

当然, 也可以选择别的 mirrors. 可是,主站的 src 是最新的啊, 呵呵.

现在, cvsup ...

# cd /usr/src/
# cvsup -g -L 2 /usr/share/examples/cvsup/standard-supfile

wait ....

ok, 现在 build world

# pwd
/usr/src
# make buildworld

wait ... wait ... 根据你的机器时间不等.

ok, 现在 build kernel

# pwd
/usr/src
# make buildkernel KERNCONF=GENERIC

wait ... 当然, 你也可以自己编辑一个内核配置文件来替换 GENERIC.

我更新的内核源代码中有一个错误:
/usr/src/sys/kern/sched_ule.c
第 1719 行为:
1719          mi_switch(SW_VOL);

这个函数应该有两个参数, 在其他地方是这么用的:
kern_idle.c:            mi_switch(SW_VOL, NULL);

所以我就加了个 NULL 参数.

ok. 现在 make installkernel, make installworld

# pwd
/usr/src
# make installkernel KERNCONF=GENERIC
# mergemaster -cv
# make installworld
# reboot

ok, finished.

mergemaster 的时候, 你根据提示做就可以了

"d" 是删除. "i"是安装. "m"是合并.
发表于 2004-7-4 20:23:28 | 显示全部楼层
第 1719 行为:
1719 mi_switch(SW_VOL);

这个函数应该有两个参数, 在其他地方是这么用的:
kern_idle.c: mi_switch(SW_VOL, NULL);

所以我就加了个 NULL 参数.

发表于 2004-7-10 18:44:44 | 显示全部楼层

你是几多版

我是5。1好象不行
 楼主| 发表于 2004-7-11 13:23:39 | 显示全部楼层
"我的 make world 经历" 第二版 :p
现在成功 up 的 5.2.1-p9, 感觉非常好, 呵呵.

说明:
在 /usr/share/examples/cvsup/ 下
standard-supfile 是用来升级到 current 版本的. 不建议用来做工作平台.
stable-supfile 是用来升级到 stable 版本的. 建议选用.

首先, 编辑了 /usr/share/examples/cvsup/stable-supfile

修改 *default host=CHANGE_THIS.FreeBSD.org
为 *default host=cvsup.FreeBSD.org
当然, 也可以选择别的 mirrors. 可是,主站的 src 是最新的啊, 呵呵.

然后, 修改 tag 选项.
# change "RELENG_4" to "RELENG_3" or "RELENG_2_2" respectively.
*default release=cvs tag=RELENG_4

这里, 因为我用的是 5.2.1, 所以改成
*default release=cvs tag=RELENG_5_2

cvsup ...

# cd /usr/src/
# cvsup -g -L 2 /usr/share/examples/cvsup/stable-supfile

build world

# pwd
/usr/src
# make buildworld

build kernel

# pwd
/usr/src
# make buildkernel KERNCONF=GENERIC

当然, 你也可以自己编辑一个内核配置文件来替换 GENERIC.

现在 make installkernel, make installworld

# pwd
/usr/src
# make installkernel KERNCONF=GENERIC
# mergemaster -cv
# make installworld
# shutdown -r now

mergemaster 的时候, 你根据提示做就可以了

"d" 是删除. "i"是安装. "m"是合并. 一般, 选 "i" 就可以了.

顺带着又 cvsup 了 ports, 使用的是 ports-supfile
方法和前面一样:
修改 *default host=CHANGE_THIS.FreeBSD.org
为 *default host=cvsup.FreeBSD.org

# cd /usr/ports/
# cvsup -g -L 2 /usr/share/examples/cvsup/ports-supfile

cvsup 完了后, 要记得

# portsdb -uU
发表于 2004-7-11 15:25:16 | 显示全部楼层
用jp的镜像通常会快很多
发表于 2004-7-12 20:56:17 | 显示全部楼层

不行呀

我试了多次,没次都是停在那里,到底有没有办法呀
 楼主| 发表于 2004-7-13 07:45:09 | 显示全部楼层

回复: 不行呀

最初由 baoweir 发表
我试了多次,没次都是停在那里,到底有没有办法呀


在 make installworld 之前, 你得先 mergermaster 的, 你是这么做的吗
如果是, 我也不知道怎么回事了. 因为我没碰到你说的问题.
发表于 2004-7-15 08:52:57 | 显示全部楼层

mergermaster

mergermaster 我应该如何选参数呀,在开始执行时它显示好多用户,有的前面是号,有的是+号,+号的意思是不是新增的用户帐户呀。
:help
下边的参数一般都选什么呀,楼上谢谢帮帮我吧
我也想有成功的感觉
发表于 2004-7-15 09:01:06 | 显示全部楼层
呵呵,先学习一下看patch文件吧
发表于 2004-7-15 09:13:09 | 显示全部楼层

mergermaster

它的UPDATING要求先mergermaster -p 才能make world , 你这样可以吗?
你们都是如何安装,我的怎么每次都报这个错,而你们的从来没有说过呢?:help
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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