突然想到一个很BT的问题……关于从stage3到stage1的转换
时间:2005-07-04
来源:互联网
有点想试试gcc 4.0.1编译的系统是不是真的快一些,另外,想为我的Duron优化一下下,所以打算从Stage1编译一个系统,现在的系统是stage3装的,是否可以通过直接emerge -u world来编译捏?这样好像会重新编译整个系统的说……不知道可行不?
作者: Zer4tul 发布时间: 2005-07-04
no,绝对不行!!!在BOOTSTRAP后BINUTIL,GLIBC,GCC会用到你的优化,而装完后就不行呐
作者: jjj311 发布时间: 2005-07-04
emerge -e 就可以了,呵呵
作者: wangxudong 发布时间: 2005-07-04
引用:
|
作者: jjj311
no,绝对不行!!!在BOOTSTRAP后BINUTIL,GLIBC,GCC会用到你的优化,而装完后就不行呐
|
bootstarp是什么东西来的?好像只是stage1 里面才有,gentoo包里是没有这一个。
emerge -e system 会重新编译整个系统基本的东西,除内核。
作者: zxb 发布时间: 2005-07-04
以前看到:不记得哪里的了,在此先向原作者表示歉意
代码:
Stage 1 NPTL on a Stage 3 Tarball Guide
1、起动到一个 linux 环境,不管是已有的 linux 系统或是 Ibox 等 LiveCD 都可以,我是在 debian 上开始的。
2、打开硬盘 DMA
hdparm -d1c1u1m16 /dev/hda
3、分区、建立文件系统、挂载 swap,不多言了,版中兄弟应该驾轻就熟了
4、挂载 gentoo 分区
mount /dev/hda9 /mnt/gentoo
mkdir /mnt/gentoo/{boot,home}
mount /dev/hda6 /mnt/gentoo/home
mount /dev/hda7 /mnt/gentoo/boot
5、弄个 stage3 tarball 解开到 gentoo root 分区
wget http://gentoo.ccccom.com/releases/x86/2004.3/stages/pentium4/stage3-pentium4-2004.3.tar.bz2
tar -xvjpf stage3-pentium3-2004.3.tar.bz2 -C /mnt/gentoo
6、安装 portage 树
wget http://gentoo.ccccom.com/snapshots/.tar.bz2
tar -xvjf .tar.bz2 -C /mnt/gentoo/usr
7、安装 gentoo 基本系统
7.1 拷贝 DNS 信息
7.2、挂载 proc
mount -t proc none /mnt/gentoo/proc
7.3、Chroot 进 gentoo 系统
chroot /mnt/gentoo /bin/bash
env-update && source /etc/profile
7.4、设置系统时间
rm /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
7.5、设置 make.conf
mkdir -p /var/log/portage
mkdir -p /home/ftp/pub/gentoo/distfiles
mkdir -p /usr/local/{portage,glc}
下面是我的 make.conf
CFLAGS="-O3 -march=pentium4 -fomit-frame-pointer"
CHOST=“i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
ACCEPT_KEYWORDS="x86"
DISTDIR="/home/ftp/pub/gentoo/distfiles"
PORT_LOGDIR="/var/log/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/glc"
#FETCHCOMMAND="/usr/bin/proz –no-getch –no-search -k=5 –retry-delay=1 ${URI} -P ${DISTDIR}"
GENTOO_MIRRORS=?http://gentoo.ccccom.com http://ftp.gentoo.or.kr/
ftp://mirror.averse.net/pub/gentoo http://mirror.pacific.net.au/gentoo/"
RSYNC_RETRIES="3"
FEATURES="sandbox ccache distlocks"
CCACHE_SIZE="512M"
USE="glc nls cjk apache2 mysql maildir imap acpi truetype nptl freetype pam pthreads python userlocales screensaver"
请根据本机实际更改。
7.6、为构建 gcc 3.4.3 平台作准备
echo "sys-devel/gcc ~x86" >> /etc/portage/package.keywords
echo "sys-devel/gcc-config ~x86" >> /etc/portage/package.keywords
echo "sys-libs/libstdc++-v3 ~x86" >> /etc/portage/package.keywords
echo "sys-libs/glibc ~x86" >> /etc/portage/package.keywords
7.7、更新 portage 树
emerge --sync
7.8、安装 prozilla 为 emerge 加速
目前 prozilla 被 mask 了,只好如此:
echo "www-client/prozilla ~x86" >> etc/portage/package.keywords
echo “>=www-client/prozilla-1.3.6-r1″ >> /etc/portage/package.unmask
emerge prozilla
取消 /etc/make.conf 中的 FECHCOMMAND 一行注释。
7.9、打开 user locales ,为 glibc 减肥
echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
修改 /etc/locales.build ,设置需要编译的 locales :
en_US.ISO-8859-1
en_US.UTF-8/UTF-8
zh_CN/GB18030
zh_CN.GB2312/GB2312
zh_CN.UTF-8/UTF-8
8、构建新工具链
8.1、重新编译 glibc 及 gcc
为了打开 nptl ,我们不得不卸载 linux-headers。
env-update && suorce /etc/profile
emerge -C linux-headers
emerge linux26-headers
emerge gcc-config glibc binutils gcc
这是个比较漫长的过程,不过值得等待…
8.2、现在我们用 gcc 3.3.4 及其工具链重新编译了 gcc 3.4.3,下面我们需要启用新的 gcc 来重新构建整个工具链和系统。
8.2.1。首先我参考 Bob P 的帖子修改了 make.conf,目前没发现什么问题,不喜欢的朋友可以不修改。
CFLAGS="-O3 -march=pentium4 -mtune=pentium4 -fforce-addr -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer -pipe"
CXXFLAGS=“${CFLAGS} -fvisibility-inlines-hidden -fvisibility=hidden”
8.2.2。切换到 gcc 3.4.3
gcc-config -l
[1] i686-pc-linux-gnu-3.3.4 *
[2] i686-pc-linux-gnu-3.4.3
[3] i686-pc-linux-gnu-3.4.3-hardened
[4] i686-pc-linux-gnu-3.4.3-hardenednopie
[5] i686-pc-linux-gnu-3.4.3-hardenednossp
我们看到,虽然我们安装了 gcc 3.4.3,但系统默认的编译器仍然是 gcc 3.3.4,如果没什么疑问,我们来切换到 gcc 3.4.3。
gcc-config 2
env-update && source /etc/profile
gcc -v 看一下,现在默认的编译器应该是 gcc 3.4.3 了。
8.2.3。重新编译工具链
emerge glibc binutils gcc portage
8.2.4。现在我们的工具链是最新的了,下面我们要用这个工具链来重新编译整个系统,这是个更为漫长的过程,作好思想准备 [微笑]
emerge -e system
8.3。完成系统的其他安装工作
8.3.1。安装基本工具
emerge syslog-ng grub vixie-cron reiserfsprogs sysfsutils udev dhcpcd hotplug coldplug gentoolkit gentoolkit-dev genlop esearch telnet-bsd vim
rc-update add syslog-ng default
rc-update add vixie-cron default
rc-update add sshd default
rc-update add hotplug default
rc-update add coldplug default
rc-update add acpid default
8.3.2。修改 rc.conf
CLOCK="local"
EDITOR=”/usr/bin/vim”
9。安装内核
我准备采用 2.6.10-nitro4,下载 ebuild 到 PORTDIR_OVERLAY。
emerge nitro-sources
内核配置不多讲了,目前大家普遍关注的如 udev,gensplash,reiser4,win4lin 这个内核都有,如果需要 unicon 支持,找到
sunmoon 提供的补丁 patch 一下即可。
需要注意的是要开启 udev 支持,要修改 /etc/conf.d/rc 脚本,加入
RC_DEVICES="udev"
RC_DEVICE_TARBALL=”no”
10。配置系统
10.1。配置网络
我的网络连接是 pppoe adsl,所以先来安装 rp-pppoe
USE="-X" emerge rp-pppoe
adsl-setup
rc-update add rp-pppoe default
10.2。配置主机及域名服务
echo "microweb" >> /etc/hostname
echo “3322.org” >> /etc/dnsdomainname
echo “microweb.3322.org” >> /etc/nisdomainname
rc-update add domainname default
10.3。安装和配置 gensplash
如果不喜欢 gensplash 可跳过。
emerge splashutils
splash_geninitramfs -v -g /boot/fbsplash-emergence-1024x768 -r 1024x768 emergence
rc-update add splash default
10.4。安装配置 grub
这个不多说了,下面是我的 grub.conf
# For booting Gentoo
title Gentoo 2004.3
root (hd0,6)
kernel (hd0,6)/vmlinuz-2.6.10-nitro4 ro root=/dev/hda9
video=vesafb:mtrr,ywrap,mpipal,1024x768-16@85 splash=silent
initrd (hd0,6)/fbsplash-emergence-1024x768
安装 grub 到 MBR
grub
grub> root (hd0,6)
grub> setup (hd0)
grub> quit
10.5。配置 fstab。
/dev/hda7 /boot ext3 noauto,noatime 1 1
/dev/hda9 / reiserfs noatime 0 0
/dev/hda6 /home reiserfs noatime 0 0
/dev/hda8 none swap sw 0 0
/dev/hdb7 none swap sw 0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
10.6。配置 hdparm
nano -w /etc/conf.d/hdparm
disc0_args=”-d1c1u1m16″
cdrom0_args=”-d1c1u1″
rc-update add hdparm boot
10.7。设置用户信息
设置 root 密码
passwd
New password: (Enter your new password)
Re-enter password: (Re-enter your password)
增加一个普通用户
useradd -m -G users,wheel,audio,video,tty,portage,games,cdrw max
passwd max
New password: (Enter max’s password)
Re-enter password: (Re-enter max’s password)
10.8。设置 numlock 状态服务
rc-updae add numlock default
10.9。退出 chroot 环境。
exit
cd ~
umount /mnt/gentoo/proc /mnt/gentoo/home /mnt/gentoo/boot /mnt/gentoo
11。重启系统,一个崭新的 gentoo box 正在欢迎你!
作者: zxb 发布时间: 2005-07-04
谢一个先……
作者: Zer4tul 发布时间: 2005-07-05
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28













