LinuxSir.cn,穿越时空的Linuxsir!

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

[原创]从stage3开始编译gcc 4.0.0、制作漂亮的splash以及console的中文显示

[复制链接]
发表于 2005-5-6 13:34:38 | 显示全部楼层 |阅读模式
从stage3开始编译gcc 4.0.0、制作漂亮的splash以及console的中文显示


先安装基本系统


然后chroot到新系统(可以一边编译一边上网,我用一个gentoo编译了一个新的gentoo)


执行下列命令:

# nano -w /etc/portage/package.keywords

=sys-devel/gcc-4.0.0 -*

=sys-devel/binutils-2.15.97 -*

=sys-libs/glibc-2.3.5.20050421 -*



# nano -w /etc/portage/package.unmask

=sys-libs/glibc-2.3.5.20050421

=sys-devel/gcc-4.0.0



# emerge gcc binutils  (因为编译glibc提示gcc版本太低,所以在此不编译glibc)


# gcc-config -l   列出你当前的gcc,带*好的表示当前所用的gcc,是不是看到了gcc 4.0.0?)


# gcc-config i686-pc-linux-gnu-4.0.0(利用这条命令切换到gcc 4.0.0)

# source /etc/profile


# emerge glibc  (用gcc 4.0.0编译glibc)


# emerge linux-headers


# emerge -e system


遇到编译不通过的包,可以用下列命令跳过:


# emerge --resume --skipfirst -e system


一般情况下只有python 和wget编译不通过,其他都可以通过。

编译内核:(可以使用原来的内核,也可以用gcc 4.0.0编译一个新的内核,不过用gcc 4.0.0编译的时候有好多warning)

在内核中选择frame buffer支持,显卡驱动选择VESA就可以了,不要选择nv或者ati的任何驱动。


对新手来说,可以使用genkernel,这样更简单!

# emerge genkernel

# emerge splashutils  (gcc 4.0.0编译不通过,切换到原来的gcc 编译)

制作自己的splash图片(最好选择适合自己电脑分辨率的图片)

# mkdir /etc/splash/personal

# cd /etc/splash

# rm -rdf default

# ln -s personal default

找四个图片,分别命名为:  silent-1024x738.jpg  verbose-1024x768.jpg silent-1024x768-240.png  verbose-1024x768-240.png

# cp emergence/1024x768.cfg personal/

# nano -w 1024.cfg

改路径为:
pic=/etc/splash/personal/verbose-1024x768.jpg
silentpic=/etc/splash/personal/silent-1024x768.jpg
pic256=/etc/splash/personal/verbose-1024x768-240.png
silentpic256=/etc/splash/personal/silent-1024x768-240.png

# genkernel --gensplash=personal  --menuconfig all (内核选项中修改splash分辨率为1024x768@85)

# rm /usr/src/linux/usr/initramfs_data.cpio.gz

# splash_geninitramfs -v -g /usr/src/linux/usr/initramfs_data.cpio.gz -r 1024x768 personal

#genkernel --gensplash=personal initrd

#rc-update add splash default

修改grub 然后root就可以看到漂亮得splash了

我的grub ,硬盘分区为hda10,大家照着修改就可以了

title=Gentoo-Linux-2.6.9-nitro4-gcc-4.0.0
kernel (hd0,9)/boot/kernel-2.6.9-nitro4 root=/dev/hda10 video=vesafb:ywrap,pmipal,1024x768-32@85 splash=silent,theme:personal
initrd (hd0,9)/boot/initrd-2.6.9-nitro4

当然你还可以用unicon的补丁,打上内核补丁后就可以让console显示中文了

具体unicon的问题请搜索sunmoon1997的贴,这里就不赘述了。
 楼主| 发表于 2005-5-6 13:37:34 | 显示全部楼层
忘记贴emerge info了,在此补上:
  1. Gentoo / # emerge info
  2. Portage 2.0.51.21 (default-linux/x86/2005.0, gcc-4.0.0, glibc-2.3.5.20050421-r0, 2.6.9-nitro4 i686)
  3. =================================================================
  4. System uname: 2.6.9-nitro4 i686
  5. Gentoo Base System version 1.6.11
  6. dev-lang/python:     2.3.4-r1
  7. sys-apps/sandbox:    1.2.3
  8. sys-devel/autoconf:  2.13, 2.59-r6
  9. sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5
  10. sys-devel/binutils:  2.15.97
  11. sys-devel/libtool:   1.5.16
  12. virtual/os-headers:  2.6.11
  13. ACCEPT_KEYWORDS="x86 ~x86"
  14. AUTOCLEAN="yes"
  15. CBUILD="i686-pc-linux-gnu"
  16. CFLAGS="-O3 -march=pentium4 -fomit-frame-pointer"
  17. CHOST="i686-pc-linux-gnu"
  18. CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var /var/qmail/control"
  19. CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
  20. CXXFLAGS="-O3 -march=pentium4 -fomit-frame-pointer"
  21. DISTDIR="/usr/portage/distfiles"
  22. FEATURES="autoconfig distlocks sandbox sfperms strict"
  23. GENTOO_MIRRORS="ftp://ftp.sjtu.edu.cn/gentoo ftp://ftp.tsinghua.edu.cn/mirror/gentoo"
  24. LANG="zh_CN"
  25. MAKEOPTS="-j2"
  26. PKGDIR="/usr/portage/packages"
  27. PORTAGE_TMPDIR="/var/tmp"
  28. PORTDIR="/usr/portage"
  29. SYNC="rsync://ftp.tsinghua.edu.cn/gentoo/gentoo-portage"
  30. USE="x86 X alsa apm arts avi berkdb bitmap-fonts cdr crypt dvd emboss encode foomaticdb fortran gdbm gif gnome gpm gtk gtk2 imlib ipv6 jpeg libg++ libwww mad mikmod motif mp3 mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python quicktime readline sdl slang spell ssl svga tcpd truetype truetype-fonts type1-fonts xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc"
  31. Unset:  ASFLAGS, CTARGET, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY

  32. Gentoo / #
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-5-6 15:10:07 | 显示全部楼层
谢谢,写的很祥细,我上次GCC4编译遇不少问题,花了不少时间,结果还是在编译gnome 2.10时出错,受不了,还是老老实实用了gcc3.4 , 准备等稳定下来再去编译。

以上步骤和stage1开始没啥区别?
回复 支持 反对

使用道具 举报

发表于 2005-5-6 23:40:30 | 显示全部楼层
gcc 4.0还是用 -O2的好些吧^_^
回复 支持 反对

使用道具 举报

发表于 2005-5-8 14:07:54 | 显示全部楼层
libsdl在gcc4下也编译不过,可以换回gcc3.4.3来编译。在编译glibc前可以先编译一遍automake和m4以及autoconf,这样的话,环境更加干净些。
回复 支持 反对

使用道具 举报

发表于 2005-10-1 10:06:19 | 显示全部楼层
谢谢

正要安装splash
回复 支持 反对

使用道具 举报

发表于 2005-10-2 16:11:05 | 显示全部楼层
gcc4好在那里,为什么gentoo不用。
回复 支持 反对

使用道具 举报

发表于 2005-10-2 23:51:02 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则

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