`
sqe_james
  • 浏览: 262112 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Gentoo Linux X86 安装

阅读更多

 

1. 下载 minimal installation CD , 并刻录成启动盘;

 

2.  使用如下命令可以查看机器的配置情况,如CPU, 硬盘,内在等;

livecd root # lspci

 

如果你需要加载一些新硬件,可用 modprobe ,如

livecd root # modprobe r8169

 

通过如下命令可探测你硬件的性能,并可估算出大概的安装时间:

# grep bogo /proc/cpuinfo

 bogomips:3337.81

 

# hdparm -tT /dev/sda

  /dev/hda:

Timing cached reads:1100 MB in 2.00 seconds=549.97 MB/sec

Timing buffered disk reads:224 MB in  3.01 seconds =  74.36 MB/sec

 

# grep MemTotal /proc/meminfo
    MemTotal:509248 kB

 

3. 配置网络

假如你的网络现在不能工作,可以通过 net-setup 命令配置网络。你可能需要先通过 modprobe 配置引导你的网卡。假如你使用ADSL ,可用 pppoe-setup pppoe-start 来安装。对于 PPTP 的支持,首先编辑 /etc/ppp/chap-secrets /etc/ppp/options.pptp 然后使用 pptp <server ip> 配置。

对于无线网络,使用 iwconfig 来设置无线参数,然后也通过 net-setup 来配置,或者手动运行 ifconfig.dhcpcd/route 。假如你通过代理上网的话,别忘了通过 export http_proxy, ftp_proxy RSYNC_PROXY 初始化系统。

 

livecd root # net-setup eth0

 

或者你可以手动启动你的网络,如下示例通过指派一个IP 地址,定义路由地址和服务名称来激活网路。

livecd root # ifconfig eth0 192.168.1.10/24
livecd root # route add default gw 192.168.1.1
livecd root # echo nameserver 192.168.1.1 > /etc/resolv.conf

 

4. 安装 CD  允许运行 sshd, irssi lynx links or wget 等等.

例如:启动 sshd 服务

livecd root # time /etc/init.d/sshd start
 * Generating hostkey ...
(sshd generates the key and displays more output)
 * starting sshd ...
                            [ok]

real  0m13.688s
user  0m9.420s
sys   0m0.090s

 

5. 创建分区

livecd ~ # fdisk /dev/sda

(The rest of this guide uses the following partitioning scheme)

 

p , 显示现有分区信息

n----->p , 创建新分区( 输入 n ,然后再输入 p , 接着输入你要创建的分区号, 回车,分区大小如+102M ,如果是 /boot 分区的话别忘了激活,通过命令 a , 然后要激活的分区,如果是 swap 分区,加紧忘了选择分区类型,输入命令 t ,然后输入你的设置为 swap 的编号如:2 , 再输入 swap 代码82 , 这些命令均在 fdisk 模式下运行)

 

接着格式化文件系统,

mke2fs(ext2), mke2fs -j(ext3), mkreiserfs(Reiserfs),mkfs.xfs(xfs),mkfs.jfs(Jfs)

 

如下创建 Reiserfs 文件系统:

(ext2 is all you need on the /boot partition)
livecd ~ # mke2fs /dev/hda1

(Let's use reiserfs on the main partition)
livecd ~ # mkreiserfs  /dev/hda3

(Create and activate swap)
livecd ~ # mkswap /dev/hda2 && swapon /dev/hda2

 

接着挂载文件系统

livecd ~ # mount /dev/hda3 /mnt/gentoo
livecd ~ # mkdir /mnt/gentoo/boot
livecd ~ # mount /dev/hda1 /mnt/gentoo/boot
livecd ~ # cd /mnt/gentoo

 

至此文件系统已创建并格式完成。接下来进行系统的安装配置。

 

6. 设置时间

(Check the clock)
livecd gentoo # date
Mon Mar  6 00:14:13 UTC 2006

(Set the current date and time if required)
livecd gentoo # date 030600162006 (Format is MMDDhhmmYYYY)
Mon Mar  6 00:16:00 UTC 2006

 

7. 下载stage 和最新Portage

由于官方在国内下载网速较慢,所以可以选择较近的镜像站点来下载,如,由于我在上海所以选择最近的韩国镜像来下载。当然你也可以事先下载好。

 livecd gentoo # links http://www.gentoo.org/main/en/mirrors.xml


(Pick a mirror, move to the releases/x86/2008.0_beta2/ directory, highlight the
stage3 of your choice, probably the i686 stage3 and press D to download it)

 

(Or download it directly with wget without choosing a nearby mirror)


livecd gentoo # wget

 http://ftp.lecl.net/pub/gentoo/releases/x86/2008.0_beta2/stages/stage3-i686*tar.bz2  

 

接着解压

livecd gentoo # tar xjpf stage3*

 

然后下载最新的Portage 并解压

livecd usr # wget http://gentoo.osuosl.org/snapshots/portage-latest.tar.bz2
livecd usr # time tar xjf portage-lat*

 

7. Chrooting

挂载 /proc 文件系统,cp /etc/resolv.conf 文件,然后 chroot 到你的Gentoo 环境。

livecd usr # cd /
livecd / # mount -t proc proc /mnt/gentoo/proc
livecd / # cp -L /etc/resolv.conf /mnt/gentoo/etc/
livecd / # chroot /mnt/gentoo /bin/bash
livecd / # env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache...

 

设置时区

livecd / # ls /usr/share/zoneinfo
(Using Brussels as an example)
livecd / # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

livecd / # date
Wed Mar  8 00:46:05 CST 2008

 

设置主机名和域名

livecd / # cd /etc
livecd etc # echo "127.0.0.1 janwer.dematch janwer localhost" > hosts
livecd etc # sed -i -e 's/HOSTNAME.*/HOSTNAME="mybox"/' conf.d/hostname
(Use defined host name and check)

livecd etc # hostname janwer
livecd etc # hostname -f

janwer.dematch

 

8. 内核配置

在编译内核前,先配置一下 /etc/make.conf

方案一
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=prescott -mtune=prescott -O2 -pipe -fomit-frame-pointer -mfpmath=sse,387 -mmmx -msse -msse2 -msse3 -m3dnow -fforce-addr -finline-functions -finline-limit=400 -Wa,-march=prescott -falign-loops -fgcse-after-reload"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1 -s"


方案二
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=prescott/nocona -mtune=prescott -O3 -pipe -fomit-frame-pointer -mfpmath=sse,387 -mmmx -msse -msse2 -msse3 -m3dnow -fforce-addr -finline-limit=400 -Wa,-march=prescott"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1 -s"


# CPU优化系数

MAKEOPTS="-j3"

# 以下不使用的功能

USE="-bluetooth -ipv6 -gnome -kde -gtk"
#
最近的源码境像站点
GENTOO_MIRRORS="http://ftp.kaist.ac.kr/pub/gentoo/ ftp://ftp.kaist.ac.kr/gentoo/ ftp://ftp.lecl.net/pub/gentoo/ http://ftp.lecl.net/pub/gentoo/ ftp://ftp.daum.net/gentoo/ http://ftp.daum.net/gentoo/ http://ftp.twaren.net/Linux/Gentoo/ ftp://ftp.twaren.net/Linux/Gentoo/ http://ftp.ncnu.edu.tw/Linux/Gentoo/ ftp://ftp.ncnu.edu.tw/Linux/Gentoo/ http://ftp.cs.pu.edu.tw/Linux/Gentoo/ ftp://ftp.cs.pu.edu.tw/Linux/Gentoo/ http://gentoo.cs.nctu.edu.tw/gentoo/ ftp://gentoo.cs.nctu.edu.tw/gentoo/ "

SYNC="rsync://rsync.asia.gentoo.org/gentoo-portage"

 

接着安装内核, 然后进行配置,编译和 cp arch/i386/boot/bzImage 文件到 /boot

如下安装一个 hardened-sources ( 服务器版)

livecd etc # emerge hardened-sources
livecd etc # cd /usr/src/linux
livecd linux # make menuconfig
(Configure your kernel)
livecd linux # make –j3 (
根据你的系统来写 CPU 数加 1)

(Elapsed time depends highly on the options you selected)

livecd linux # make modules_install
livecd linux # cp arch/i386/boot/bzImage /boot/kernel

 

9. 配置系统

编辑 /etc/fstab , 用实际的分区名称替换 BOOT,ROOT, SWAP ,别忘了检查一下文件格式是否和你安装的相匹配。

livecd linux # cd /etc
livecd etc # nano -w fstab

( 注意:如果 /boot reiserfs 文件格式,别忘了在 opt 里加上 notail )
/dev/hda1   /boot     ext2    noauto,noatime      1 2
/dev/hda3   /         reiserfs    noatime
, notail     0 1
/dev/hda2   none      swap    sw                 0 0

 

/etc/conf.d/net 中配置网络,增加 net.eth0 初始化脚本到默认运行级别,假如你有多张网卡,把它们链接到 net.eth0 脚本并增加到默认运行级别,用 nano 或 以下 命令来编辑 /etc/conf.d/net 脚本。

livecd etc # cd conf.d
livecd conf.d # echo 'config_eth0=( "192.168.123.176/24" )' >> net
livecd conf.d # echo 'routes_eth0=( "default via 192.168.123.1" )' >> net
livecd conf.d # rc-update add net.eth0 default
(If you compiled your network card driver as a module,
add it to /etc/modules.autoload.d/kernel-2.6)

livecd conf.d # echo r8169 >> /etc/modules.autoload.d/kernel-2.6
(If you want to reconnect via ssh after you have rebooted your new box)
livecd conf.d # rc-update add sshd default

 

设置 root 密码

livecd conf.d # passwd
New UNIX password: type_the_password
Retype new UNIX password: type_the_password_again


passwd: password updated successfully

 

配置时区

livecd conf.d # nano -w /etc/conf.d/clock

TIMEZONE="Asia/Shanghai"

CLOCK=”local”

 

<!---->1.      <!---->安装系统工具

syslogger and a cron daemon

livecd conf.d # emerge syslog-ng vixie-cron
livecd conf.d # rc-update add syslog-ng default
livecd conf.d # rc-update add vixie-cron default (
可选,用于任务调试 )

 

  安装一些必须的系统工具

xfspprogs,reiserfsprogs or jfsutils,dhcpcd,ppp and so on )

livecd conf.d # emerge xfsprogs        (If you use the XFS file system)
livecd conf.d # emerge jfsutils        (If you use the JFS file system)
livecd conf.d # emerge reiserfsprogs   (If you use the Reiser file system)
livecd conf.d # emerge dhcpcd          (If you need a DHCP client)
livecd conf.d # emerge ppp             (If you need PPPoE ADSL connectivity)

 

安装配置 grub

livecd conf.d # emerge grub
livecd conf.d # nano -w /boot/grub/grub.conf

 

Example grub.conf
default 0
timeout 10

title Gentoo
root (hd0,0)
kernel /boot/kernel root=/dev/hda3

 

Install grub
livecd conf.d # grub
Probing devices to guess BIOS drives. This may take a long time.

grub> root (hd0,0)
 Filesystem type is ext2fs, partition type 0xfd

grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  16 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/boot/grub/stage2 /boot/
grub/menu.lst"... succeeded
Done.

grub> quit

 

Reboot
livecd conf.d # exit
livecd / # umount /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo
livecd / # reboot
(Don't forget to remove the CD)

 

Add a new user
janwer~ # adduser -g users -G lp,wheel,cdrom,portage,cron -m janwer
janwer ~ # passwd janwer
New UNIX password: Set Janwer's password
Retype new UNIX password: Type Janwer's password again
passwd: password updated successfully

 

Use mirrorselect and set MAKEOPTS
janwer ~ # emerge mirrorselect
janwer ~ # mirrorselect -i -o >> /etc/make.conf
janwer ~ # mirrorselect -i -r -o >> /etc/make.conf
(Usually, (the number of processors + 1) is a good value)
janwer ~ # echo 'MAKEOPTS="-j3"' >> /etc/make.conf

 

View USE flags in use and enable or disable some
janwer ~ # emerge -vpe world
(Portage displays the packages and their USE flags, as an example, let's
disable ipv6 and fortran, and enable unicode)

janwer ~ # echo 'USE="nptl nptlonly -ipv6 -fortran unicode"

 

Define locales
janwer ~ # cd /etc
janwer etc # nano -w locale.gen (add en.UTF-8 UTF-8 zh.UTF-8 UTF-8 zh.GBK GBK)
janwer etc # locale-gen

 

Last but not least, you may want to alter the CFLAGS variable in your /etc/make.conf to optimise the code to your specific needs. Please note that using a long list of flags is rarely needed and can even lead to a broken system. It is recommended to specify the processor type in the march option and stick to -O2 -pipe .

You may also want to switch to ~x86 . You should only do this if you can deal with the odd broken ebuild or package. If you'd rather keep your system stable, don't add the ACCEPT_KEYWORDS variable. Adding FEATURES="ccache" is also a good idea.

 

Last edit of make.conf
janwer etc # nano -w make.conf
(Add the following line)
FEATURES="ccache"
(Only add the following if you know what you're doing)
ACCEPT_KEYWORDS="~x86"

 

Update your packages
(Install ccache)
janwer etc # emerge ccache

(Please note that the switch to ~x86 causes many packages to be upgraded)


janwer etc # emerge -vpuD --newuse world
(Take a good look at the package list and their USE flags,
remove blocking packages if any, and start the lengthy process)


janwer etc # time emerge -vuD --newuse world


(79 packages have been (re)compiled)

real  180m13.276s
user  121m22.905s
sys   36m31.472s

 

(Remerge libtool to avoid further potential problems)
janwer etc # emerge --oneshot libtool

 

(Update config files, make sure you do not let dispatch-conf
update config files you have edited)


janwer etc # dispatch-conf

(If perl has been updated, you should run the perl-cleaner script)


janwer etc # time perl-cleaner all
real  1m6.495s
user  0m42.699s
sys   0m10.641s

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics