从Debian安装Gentoo Linux

时间:2020-03-21 11:45:25  来源:igfitidea点击:

从chroot安装Gentoo Linux。
这将花费很长时间,但通常是值得的。

硬件

下面列出了一些硬件规格,以供参考。

  • CPU:英特尔酷睿2双核CPU T5750 @ 2.00GHz
  • 显卡:ATI Mobility Radeon HD 3450
  • 无线:Broadcom Corporation BCM4312 802.11b/g LP-PHY(rev 01)
# lspci
00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 03)
00:1a.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 04)
00:1a.1 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 04)
00:1a.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 04)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 04)
00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 04)
00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 04)
00:1d.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 04)
00:1d.1 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 04)
00:1d.2 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 04)
00:1d.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 04)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f4)
00:1f.0 ISA bridge: Intel Corporation 82801HM (ICH8M) LPC Interface Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 04)
01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RV620 [Mobility Radeon HD 3400 Series]
01:00.1 Audio device: Advanced Micro Devices [AMD] nee ATI RV620 HDMI Audio [Radeon HD 3400 Series]
03:01.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
03:01.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
03:01.2 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
03:01.3 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)
09:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5784M Gigabit Ethernet PCIe (rev 10)
0c:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)

准备Chroot环境

我们将需要一个wget:

# apt-get install wget

我们将为Gentoo使用ext4格式的'/dev/sdb6'分区,该分区安装在'/mnt/gentoo'上:

# mkdir /mnt/gentoo
# mount /dev/sdb6 /mnt/gentoo
# cd /mnt/gentoo

安装媒体

下载Stage3 tar包

在Gentoo网页上查看最新的tar包。

# wget http://distfiles.gentoo.org/releases/amd64/current-iso/stage3-amd64-20141204.tar.bz2
# wget http://distfiles.gentoo.org/releases/amd64/current-iso/stage3-amd64-20141204.tar.bz2.DIGESTS

验证完整性:

# sha512sum ./stage3*bz2 && cat ./stage3*DIGESTS

提取压缩包:

# tar xvjpf ./stage3*.bz2 -C /mnt/gentoo/

下载并安装Portage

# wget http://distfiles.gentoo.org/releases/snapshots/current/portage-latest.tar.bz2
# wget http://distfiles.gentoo.org/releases/snapshots/current/portage-latest.tar.bz2.md5sum

验证完整性:

# md5sum -c portage-latest.tar.bz2.md5sum 
portage-latest.tar.bz2: OK

提取压缩包:

# tar xvjf ./portage-latest.tar.bz2 -C /mnt/gentoo/usr/

安装Gentoo基本系统

从Debian复制DNS信息并挂载必要的文件系统:

# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev

chroot进入新环境:

# chroot /mnt/gentoo /bin/bash

将环境重新加载到内存中:

# /usr/sbin/env-update && source /etc/profile

提醒自己我们在chroot中:

# export PS1="(chroot) $PS1"

根据需要配置USE变量。
有关更多信息,请访问http://wiki.gentoo.org/wiki/手册:AMD64/Installation/Base#Configuring_the_USE_variable和https://www.gentoo.org/dyn/use-index.xml页面。

配置时区:

(chroot)# cp /usr/share/zoneinfo/GB /etc/localtime

配置语言环境:

(chroot)# nano -w /etc/locale.gen
(chroot)# locale-gen

将环境重新加载到内存中:

(chroot)# /usr/sbin/env-update && source /etc/profile

配置Linux内核

(可选)在'/etc/portage/make.conf'中添加最近的Gentoo镜像,即:

GENTOO_MIRRORS="http://www.mirrorservice.org/sites/distfiles.gentoo.org/"

下载可从rsync服务器安装的软件包列表:

(chroot)# emerge --sync

下载内核源代码:

(chroot)# emerge gentoo-sources

转到包含源的目录并配置内核:

(chroot)# cd /usr/src/linux && make menuconfig

下面列出了一些Linux内核3.17配置选项。

64位内核(*)
处理器类型和功能->处理器系列(Core 2/Xeon)
处理器类型和功能-> Dell笔记本电脑支持(M)

电源管理和ACPI选项->挂接到内存和待机(
电源管理和ACPI选项->休眠(

网络支持(*)
网络支持->无线->通用IEEE 802.11网络堆栈(mac80211)

设备驱动程序->串行ATA和并行ATA驱动程序(
设备驱动程序-> SCSI设备支持-> SCSI设备支持(

设备驱动程序->多设备驱动程序支持(RAID和LVM)(
设备驱动程序->多个设备驱动程序支持(RAID和LVM)->设备映射器支持(

设备驱动程序->多个设备驱动程序支持(RAID和LVM)->加密目标支持(M)
设备驱动程序->网络设备支持(
设备驱动程序->网络设备支持->以太网驱动程序支持(

设备驱动程序->网络设备支持->通用TUN/TAP设备驱动程序支持(M)
设备驱动程序->网络设备支持->无线局域网(
设备驱动程序->网络设备支持->无线局域网-> Broadcom 43xx无线支持(mac80211支持)(M)
设备驱动程序->网络设备支持->无线局域网-> Broadcom 43xx调试(

设备驱动程序->网络设备支持->无线局域网->英特尔PRO /无线2100网络连接(M)
设备驱动程序->声卡支持(
设备驱动程序->声卡支持->高级Linux声音体系结构(

设备驱动程序->声卡支持->高级Linux声音体系结构-> HD-音频->(2048)HD-音频驱动程序的预分配缓冲区大小
设备驱动程序-> USB支持(*)

文件系统->第二扩展的fs支持(
文件系统-> Ext3日志文件系统支持(

文件系统->扩展4(ext4)文件系统(
文件系统-> FUSE支持(M)
文件系统->网络文件系统(

文件系统-> DOS/FAT/NT文件系统-> MSDOS fs支持(
文件系统-> DOS/FAT/NT文件系统-> VFAT(Windows-95)fs支持(

文件系统-> DOS/FAT/NT文件系统-> NTFS文件系统支持(M)

加密API-> MD5摘要算法(
加密API-> SHA256摘要算法(

加密API-> SHA512摘要算法(
加密API-> AES密码算法(

加密API-> Blowfish密码算法(
加密API-> Twofish密码算法(

虚拟化->基于内核的虚拟机(KVM)支持(M)
虚拟化->支持Intel处理器的KVM(M)

编译Linux内核

编译可能需要几分钟到几小时的时间,具体取决于硬件的速度和要编译的内核功能的数量。
构建内核:

(chroot)# make -j2

-j2参数启用两个并行进程。
安装内核及其模块:

(chroot)# make modules_install install

命令“ make install”用作复制内核文件,System.map和配置文件的快捷方式,其中“ make modules_install”将内核模块安装在“ /lib/modules/3.17.7-gentoo/”下

配置Gentoo系统

创建fstab文件

(chroot)# cat > /etc/fstab << EOL
/dev/sbd6  /ext4   noatime  0 1
EOL

主机和网络配置

(chroot)# echo 'config_eth0="dhcp"' >> /etc/conf.d/net
(chroot)# echo 'hostname="gentoo"' > /etc/conf.d/hostname

启动时自动启动网络

(chroot)# cd /etc/init.d
(chroot)# ln -s net.lo net.eth0
(chroot)# rc-update add net.eth0 default

根密码

设置root密码:

(chroot)# passwd root

创建普通用户

(chroot)# useradd -m -s /bin/bash sandy
(chroot)# passwd sandy

(可选)将常规用户添加到车轮组,以允许其执行“ su”命令以成为root用户:

(chroot)# usermod -aG wheel sandy

安装系统工具

安装系统记录器cron守护程序,并将它们添加到默认运行级别:

(chroot)# emerge --ask syslog-ng vixie-cron
(chroot)# rc-update add syslog-ng default
(chroot)# rc-update add vixie-cron default

安装DHCP客户端:

(chroot)# emerge --ask dhcpcd

(可选)安装较少的传呼机和vim文本编辑器:

(chroot)# emerge --ask less vim

退出chroot。

(chroot)# exit

现在是运行update-grub的好时机,或者将以下条目添加到Debian系统上的'/boot/grub/grub.cfg'中:

menuentry 'Gentoo' --class debian --class gnu-linux --class gnu --class os {

set root='(hd1,msdos6)'

linux /boot/vmlinuz-3.17.7-gentoo root=/dev/sdb6
}

卸载所有已安装的分区,然后重新启动Debian系统:

# umount -l /mnt/gentoo/dev{/shm,/pts,}
# umount /mnt/gentoo{/boot,/sys,/proc,}
# reboot

重新启动后,从GRUB菜单中选择Gentoo选项。

为Broadcom Corporation BCM4312配置无线

我们现在正在使用Gentoo系统。

# emerge --ask linux-sources
# emerge --autounmask-write broadcom-sta
# etc-update
# emerge --ask broadcom-sta
# emerge --ask wpa_supplicant wireless-tools pciutils

将以下内容添加到“ /etc/conf.d/net”:

modules_wlan0="wpa_supplicant"
wpa_supplicant_wlan0="-Dnl80211"
config_wlan0="dhcp"

将wifi详细信息添加到'/etc/wpa_supplicant/wpa_supplicant.conf'中。
如果不存在,请创建该文件。

# Allow users in the 'wheel' group to control wpa_supplicant
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel
#ap_scan=0
# To make this file writable for wpa_gui
#update_config=1
 network={
 ssid="wifi-name"
 psk="wifi-passwd"
 scan_ssid=1
 proto=WPA2
 key_mgmt=WPA-PSK
 group=CCMP TKIP
 pairwise=CCMP TKIP
 priority=5
}

在启动时启动无线:

# cd /etc/init.d
# ln -s net.lo net.wlan0
# rc-update add net.wlan0 defaults

重启。

查看哪些模块与wl冲突:

# lsmod
Module

Size  Used by
b43

411277  0 
bcma

32211  1 b43
wl

6263139  0 
ssb

39298  1 b43

删除有冲突的模块并重新加载wl:

# modprobe -r b43 wl
# modprobe wl

将有冲突的模块添加到黑名单中:

# cat > /etc/modprobe.d/blacklist.conf << EOL
blacklist bcma
blacklist ssb
blacklist b43
EOL

重启。
Wifi应该自动连接。