从Debian安装Gentoo Linux
从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应该自动连接。