LinuxSir.cn,穿越时空的Linuxsir!

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

突然想到一个很BT的问题……关于从stage3到stage1的转换

[复制链接]
发表于 2005-7-4 02:37:18 | 显示全部楼层 |阅读模式
有点想试试gcc 4.0.1编译的系统是不是真的快一些,另外,想为我的Duron优化一下下,所以打算从Stage1编译一个系统,现在的系统是stage3装的,是否可以通过直接emerge -u world来编译捏?这样好像会重新编译整个系统的说……不知道可行不?
发表于 2005-7-4 07:35:37 | 显示全部楼层
no,绝对不行!!!在BOOTSTRAP后BINUTIL,GLIBC,GCC会用到你的优化,而装完后就不行呐
回复 支持 反对

使用道具 举报

发表于 2005-7-4 11:43:19 | 显示全部楼层
emerge -e 就可以了,呵呵
回复 支持 反对

使用道具 举报

发表于 2005-7-4 12:21:40 | 显示全部楼层
Post by jjj311
no,绝对不行!!!在BOOTSTRAP后BINUTIL,GLIBC,GCC会用到你的优化,而装完后就不行呐


emerge -e system 就是了。有什么不行?
bootstarp是什么东西来的?好像只是stage1 里面才有,gentoo包里是没有这一个。

emerge -e system 会重新编译整个系统基本的东西,除内核。
回复 支持 反对

使用道具 举报

发表于 2005-7-4 12:23:36 | 显示全部楼层
以前看到:不记得哪里的了,在此先向原作者表示歉意


  1. Stage 1 NPTL on a Stage 3 Tarball Guide
  2. 1、起动到一个 linux 环境,不管是已有的 linux 系统或是 Ibox 等 LiveCD 都可以,我是在 debian 上开始的。

  3. 2、打开硬盘 DMA
  4.         hdparm -d1c1u1m16 /dev/hda

  5. 3、分区、建立文件系统、挂载 swap,不多言了,版中兄弟应该驾轻就熟了

  6. 4、挂载 gentoo 分区
  7.         mount /dev/hda9 /mnt/gentoo
  8.         mkdir /mnt/gentoo/{boot,home}
  9.         mount /dev/hda6 /mnt/gentoo/home
  10.         mount /dev/hda7 /mnt/gentoo/boot       

  11. 5、弄个 stage3 tarball 解开到 gentoo root 分区
  12.         wget http://gentoo.ccccom.com/releases/x86/2004.3/stages/pentium4/stage3-pentium4-2004.3.tar.bz2
  13.         tar -xvjpf stage3-pentium3-2004.3.tar.bz2 -C /mnt/gentoo

  14. 6、安装 portage 树

  15.         wget http://gentoo.ccccom.com/snapshots/.tar.bz2
  16.         tar -xvjf .tar.bz2 -C /mnt/gentoo/usr


  17. 7、安装 gentoo 基本系统
  18.         7.1        拷贝 DNS 信息

  19.         7.2、挂载 proc
  20.                 mount -t proc none /mnt/gentoo/proc

  21.         7.3、Chroot 进 gentoo 系统
  22.                 chroot /mnt/gentoo /bin/bash
  23.                 env-update && source /etc/profile

  24.         7.4、设置系统时间
  25.                 rm /etc/localtime
  26.                 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime


  27.         7.5、设置 make.conf
  28.                 mkdir -p /var/log/portage
  29.                 mkdir -p /home/ftp/pub/gentoo/distfiles
  30.                 mkdir -p /usr/local/{portage,glc}

  31.         下面是我的 make.conf
  32.         CFLAGS="-O3 -march=pentium4 -fomit-frame-pointer"
  33.         CHOST=“i686-pc-linux-gnu"
  34.         CXXFLAGS="${CFLAGS}"
  35.         ACCEPT_KEYWORDS="x86"
  36.         DISTDIR="/home/ftp/pub/gentoo/distfiles"
  37.         PORT_LOGDIR="/var/log/portage"
  38.         PORTDIR_OVERLAY="/usr/local/portage /usr/local/glc"
  39.         #FETCHCOMMAND="/usr/bin/proz –no-getch –no-search -k=5 –retry-delay=1 ${URI} -P ${DISTDIR}"
  40.         GENTOO_MIRRORS=?http://gentoo.ccccom.com http://ftp.gentoo.or.kr/
  41.         ftp://mirror.averse.net/pub/gentoo http://mirror.pacific.net.au/gentoo/"
  42.         RSYNC_RETRIES="3"
  43.         FEATURES="sandbox ccache distlocks"
  44.         CCACHE_SIZE="512M"
  45.         USE="glc nls cjk apache2 mysql maildir imap acpi truetype nptl freetype pam pthreads python userlocales screensaver"

  46.         请根据本机实际更改。

  47.         7.6、为构建 gcc 3.4.3 平台作准备
  48.                 echo "sys-devel/gcc ~x86" >> /etc/portage/package.keywords
  49.                 echo "sys-devel/gcc-config ~x86" >> /etc/portage/package.keywords
  50.                 echo "sys-libs/libstdc++-v3 ~x86" >> /etc/portage/package.keywords
  51.                 echo "sys-libs/glibc ~x86" >> /etc/portage/package.keywords

  52.         7.7、更新 portage 树
  53.         emerge --sync

  54.         7.8、安装 prozilla 为 emerge 加速
  55.                 目前 prozilla 被 mask 了,只好如此:
  56.                 echo "www-client/prozilla ~x86" >> etc/portage/package.keywords
  57.                 echo “>=www-client/prozilla-1.3.6-r1″ >> /etc/portage/package.unmask
  58.                 emerge prozilla

  59.                 取消 /etc/make.conf 中的 FECHCOMMAND 一行注释。
  60.         7.9、打开 user locales ,为 glibc 减肥
  61.                 echo "sys-libs/glibc userlocales" >> /etc/portage/package.use

  62.         修改 /etc/locales.build ,设置需要编译的 locales :
  63.         en_US.ISO-8859-1
  64.         en_US.UTF-8/UTF-8
  65.         zh_CN/GB18030
  66.         zh_CN.GB2312/GB2312
  67.         zh_CN.UTF-8/UTF-8

  68. 8、构建新工具链
  69.         8.1、重新编译 glibc 及 gcc
  70.         为了打开 nptl ,我们不得不卸载 linux-headers。
  71.         env-update && suorce /etc/profile
  72.         emerge -C linux-headers
  73.         emerge linux26-headers
  74.         emerge gcc-config glibc binutils gcc

  75.         这是个比较漫长的过程,不过值得等待…

  76.         8.2、现在我们用 gcc 3.3.4 及其工具链重新编译了 gcc 3.4.3,下面我们需要启用新的 gcc 来重新构建整个工具链和系统。
  77.         8.2.1。首先我参考 Bob P 的帖子修改了 make.conf,目前没发现什么问题,不喜欢的朋友可以不修改。
  78.         CFLAGS="-O3 -march=pentium4 -mtune=pentium4 -fforce-addr -momit-leaf-frame-pointer -fomit-frame-pointer -ftracer -pipe"
  79.         CXXFLAGS=“${CFLAGS} -fvisibility-inlines-hidden -fvisibility=hidden”

  80.         8.2.2。切换到 gcc 3.4.3
  81.         gcc-config -l
  82.         [1] i686-pc-linux-gnu-3.3.4 *
  83.         [2] i686-pc-linux-gnu-3.4.3
  84.         [3] i686-pc-linux-gnu-3.4.3-hardened
  85.         [4] i686-pc-linux-gnu-3.4.3-hardenednopie
  86.         [5] i686-pc-linux-gnu-3.4.3-hardenednossp

  87.         我们看到,虽然我们安装了 gcc 3.4.3,但系统默认的编译器仍然是 gcc 3.3.4,如果没什么疑问,我们来切换到 gcc 3.4.3。
  88.         gcc-config 2
  89.         env-update && source /etc/profile

  90.         gcc -v 看一下,现在默认的编译器应该是 gcc 3.4.3 了。

  91.         8.2.3。重新编译工具链
  92.         emerge glibc binutils gcc portage

  93.         8.2.4。现在我们的工具链是最新的了,下面我们要用这个工具链来重新编译整个系统,这是个更为漫长的过程,作好思想准备 [微笑]
  94.         emerge -e system

  95.         8.3。完成系统的其他安装工作
  96.         8.3.1。安装基本工具
  97.         emerge syslog-ng grub vixie-cron reiserfsprogs sysfsutils udev dhcpcd hotplug coldplug gentoolkit gentoolkit-dev genlop esearch telnet-bsd vim


  98.         rc-update add syslog-ng default
  99.         rc-update add vixie-cron default
  100.         rc-update add sshd default
  101.         rc-update add hotplug default
  102.         rc-update add coldplug default
  103.         rc-update add acpid default

  104.         8.3.2。修改 rc.conf
  105.         CLOCK="local"
  106.         EDITOR=”/usr/bin/vim”

  107. 9。安装内核
  108.         我准备采用 2.6.10-nitro4,下载 ebuild 到 PORTDIR_OVERLAY。
  109.         emerge nitro-sources

  110.         内核配置不多讲了,目前大家普遍关注的如 udev,gensplash,reiser4,win4lin 这个内核都有,如果需要 unicon 支持,找到
  111.         sunmoon 提供的补丁 patch 一下即可。
  112.         需要注意的是要开启 udev 支持,要修改 /etc/conf.d/rc 脚本,加入
  113.         RC_DEVICES="udev"
  114.         RC_DEVICE_TARBALL=”no”

  115. 10。配置系统
  116.         10.1。配置网络
  117.         我的网络连接是 pppoe adsl,所以先来安装 rp-pppoe
  118.         USE="-X" emerge rp-pppoe
  119.         adsl-setup
  120.         rc-update add rp-pppoe default

  121.         10.2。配置主机及域名服务
  122.         echo "microweb" >> /etc/hostname
  123.         echo “3322.org” >> /etc/dnsdomainname
  124.         echo “microweb.3322.org” >> /etc/nisdomainname
  125.         rc-update add domainname default

  126.         10.3。安装和配置 gensplash
  127.         如果不喜欢 gensplash 可跳过。
  128.         emerge splashutils
  129.         splash_geninitramfs -v -g /boot/fbsplash-emergence-1024x768 -r 1024x768 emergence
  130.         rc-update add splash default

  131.         10.4。安装配置 grub
  132.         这个不多说了,下面是我的 grub.conf
  133.         # For booting Gentoo
  134.         title Gentoo 2004.3
  135.                 root (hd0,6)
  136.                 kernel (hd0,6)/vmlinuz-2.6.10-nitro4 ro root=/dev/hda9
  137.                 video=vesafb:mtrr,ywrap,mpipal,1024x768-16@85 splash=silent
  138.                 initrd (hd0,6)/fbsplash-emergence-1024x768

  139.         安装 grub 到 MBR
  140.         grub
  141.         grub> root (hd0,6)
  142.         grub> setup (hd0)
  143.         grub> quit

  144.         10.5。配置 fstab。
  145.         /dev/hda7 /boot ext3 noauto,noatime 1 1
  146.         /dev/hda9 / reiserfs noatime 0 0
  147.         /dev/hda6 /home reiserfs noatime 0 0
  148.         /dev/hda8 none swap sw 0 0
  149.         /dev/hdb7 none swap sw 0 0
  150.         /dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0

  151.         10.6。配置 hdparm
  152.         nano -w /etc/conf.d/hdparm
  153.         disc0_args=”-d1c1u1m16″
  154.         cdrom0_args=”-d1c1u1″
  155.         rc-update add hdparm boot

  156.         10.7。设置用户信息
  157.         设置 root 密码
  158.         passwd
  159.         New password: (Enter your new password)
  160.         Re-enter password: (Re-enter your password)

  161.         增加一个普通用户
  162.         useradd -m -G users,wheel,audio,video,tty,portage,games,cdrw max
  163.         passwd max
  164.         New password: (Enter max’s password)
  165.         Re-enter password: (Re-enter max’s password)

  166.         10.8。设置 numlock 状态服务
  167.         rc-updae add numlock default

  168.         10.9。退出 chroot 环境。
  169.         exit
  170.         cd ~
  171.         umount /mnt/gentoo/proc /mnt/gentoo/home /mnt/gentoo/boot /mnt/gentoo

  172. 11。重启系统,一个崭新的 gentoo box 正在欢迎你!


复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-4 21:17:11 | 显示全部楼层
谢一个先……
回复 支持 反对

使用道具 举报

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

本版积分规则

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