gentoo安装教程真是难装啊

gentoo安装经历分享 ======只是分享,不是教程====_gentoo吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:3,509贴子:
gentoo安装经历分享 ======只是分享,不是教程====收藏
暑假没事干,装gentoo扑腾扑腾。前前后后折腾了4天,期间遇到这种蛋疼的问题。不过什么艰难险阻都无法阻挡我安装gentoo的步伐。。。
首先是刻录镜像,用的是currentiso里的镜像,3.12的内核。软碟通和universal usb installer都刻录失败,最后用live USB creator刻录成功。
顺便介绍下镜像的校验吧,第一次用迅雷下的就没通过校验,又重下了一遍,后面links里下的stage3也这样。。。wiki上给出了两种校验方法:
一种是下载ISO相对应的DIGESTS文件(摘要文件,注意CONTENTS文件没什么用,里面是镜像里的文件目录结构),用sha512sum命令对iso文件进行校验,和DIGEST文件里面的值对比;这个最简单,就用这个了。
另一种是使用数字签名,先从公钥服务器获取gentoo官方的公钥并加入系统,下载数字签名文件(asc),然后用gpg --verify对asc文件进行验证,如果签名正确,那么说明数字签名摘要没有问题,也就说明iso文件没有被篡改。
U盘量产了两个分区,一个刻x86的iso,一个刻x86_64的iso,x86是给家里老电脑装32位gentoo用的,本打算只是前期试试手用的,不过后来的情况是,我装64位gentoo也用的是这个x86的livecd(注意只能用于chroot前,32位的livecd不能chroot到64位的目标系统,会提示 Exec format error错误),x86_64的iso我压根没用上。因为它既不认我的无线网卡也不认我的有线网卡。无线网卡是BCM43142,wl不支持,所以不认识是情理之中得。有线网卡用的是r8196模块,x86的livecd可以正常识别,64的却不行,手动modprobe也没反应。估计是64位镜像的一个bug。不过手上也没网线,也用不到。
幸好手里有个树莓派,送了个EDUP的USB网卡,64位的livecd同样不认识,但是86的却可以。反正chroot前用哪个livecd都无所谓(你也可以用其他发行版的livecd,只是没有mirrorselect这些命令而已,自己加到make.conf也可以),既然x86的liveCD能用,就用它装吧,用wpa_supplicant顺利联网,接着按照wiki一步一步做就是了。
我电脑预装win8,UEFI板+GPT分区表,已安装ubuntu14.04和Archlinux。8G内存,感觉内存够用就没分swap,一共4个ext4分区。把ubuntu的home分区格了,给gentoo当根分区,让三个linux共用一个home分区,因为担心用户配置文件冲突,就分别用了三个不同的用户名,这样就不干扰了。不过得把arch和ubuntu的fstab改了。
挂载root分区到/mnt/gentoo/,下载stage3 tarball,并解压。
更新目标系统portage的make.conf,主要是修改CFLAGS, MAKEOPTS。我是i7三代处理器,支持avx,但不支持avx2(4代haswell才支持),所以设置CFLAGS="-march=corei7-avx -O2 -pipe"MAKEOPTS="-j9"
wiki中说,MAKEOPTS推荐是CPU核心数+1,但更大也可以。反正后期的经验看,这已经够了。编译LLVM还有qtcore的时候,8个CPU核心利用率都是90%以上,load最高超过14,所以9绝对够了,再大,内存压力更大,kworker之类的进程估计又要激动了。
USE加上ssse3 sse4_1 sse4_2 avx(cpuinfo里看你支持什么指令,有些软件包的USE有支持的)
intel+nivdia双显卡,决心用闭源驱动,Bumblebee+bbswitch切换显卡,所以设置VIDEO_CARDS="intel nvidia"
用mirrorselect更新make.conf里的同步服务器列表,分别是http和rsync服务器。然后复制dns配置文件:cp -L /etc/resolv.conf /mnt/gentoo/etc/现在就可以chroot了。但是我现在用的是x86镜像,直接chroot肯定不行。因为目标系统里的emerge神马的现在都有了,你现在完全可以换个认识你网卡的其他64位发行版的livecd,再chroot。由于我的已经装了archlinux,遂到archlinux下chroot。mount -t proc none /mnt/gentoo/procmount --rbind /sys /mnt/gentoo/sysmount --rbind /dev /mnt/gentoo/dev由于gentoo还没有生成需要的locale,所以最后在chroot前把LC_ALL export成C,这样就不会发出警告了。====== 未完待续 =======
创维OLED-S9D
更新portage树(直接下载快照或者rsync)emerge-webrsyncemerge --sync修改时区:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeecho "Asia/Shanghai" & /etc/timezone重新配置timezone-data软件包:emerge --config sys-libs/timezone-data主机名: nano /etc/conf.d/hostname选择profile:
eselect profile list(查看可用的profile)eselect profile set 3(desktop,打算用xfce不用gnome和kde)设置localenano -w /etc/locale.gen# 开US和ZH的localelocale-gen# 生成localeenv-update && source /etc/profile手动编译内核,参照大牛金步国的内核配置中文翻译。配置选项大多非常专业,本人非计算机专业,一堆无法理解。前后配置了三次,第一次手贱多按了次空格,竟然把ext4编译成了module。。第二次砍掉了selinux之类的用不到的东西,但下手太重之后删的太多,而且pppoe都没选,第三次又补回来一些,这才差不多。最后编译好的bzimage大小5.1MB,除了btrfs和b43驱动编译为模块外,其他都编译进内核。值得关注下的选项:
7.1 General setup
安装32位还是64位内核;
是否开启swap支持;
选用openRC还是systemd。openRC是gentoo自己基于sysvinit改进的,是在gentoo这里土生土长的,加上gentoo对systemd的支持还不够完善,所以就用openRC吧。
第一次编译内核没有开启fhandle和notifyd支持,结果装xfce的时候,emerge的log提示说这个选项需要设置的,这次选上。
我看Archlinux默认内核开启了PREEMPT(抢占式),这个适用于要求快速响应的多CPU(包括多核)实时系统。但我在RCU系统里发现只有一个选中的Tree-based hierarchical RCU 。按下?看下这个选项的英文介绍,才知道这个和“CPU类型与特性”里是否开启PREEMPT支持有关。虽然介绍里说这个用于成百上千个CPU构成的超大系统,但也提到对小一些的系统也有比较明显的作用,所以就开开吧。在“CPU类型与特性”里选择preemptible kernel,回去看RCU就成了Preemptible tree-based hierarchical RCU了。
要用桌面环境的话开启“鸡血补丁”(Automatic process group scheduling)。
initramfs不编译到内核,因为我要用grub来引导,不选Initramfs source file
开启Optimize very unlikely/likely branches7.2 可加载模块设置:关闭Forced module unloading,强卸正在使用的模块不安全。7.3 块设备支持:支持大于2TB的块设备和文件,虽然目前还没有,但还是选上吧;分区类型,就选择PSDOS,微软diskmanager里面的那个动态磁盘,以及GPT就好。7.4 CPU类型与特性:
多核CPU,当然要开启SMP
不选那个enable SMP table(支持ACPI的电脑就不选,64位系统更不选)
也不选non-PC platform的支持。
Intel Low Power Subsystem Support是为 Intel Lynx Point PCH 中的 Intel Low Power Subsystem 技术提供支持(参考金步国).这个芯片组主要是为采用LGA1150的Haswell处理器提供支持。3代i7就不开了。
如果内核将在虚拟机里运行就开启linux guest support,我这实体机不选。
MEMTEST在很多PE盘,还有Ubuntu的启动项里见过,不过我不需要内存监测。
IBM Calgary IOMMU support是给IBM某种服务器用的,不开。
Multi-core scheduler support选上,我archlinux上的i7z还提示过我的arch内核不支持。
processor family选(Core 2/newer Xeon)。
补充,32位内核的话,还有个generic-x86-support。CPU processor family选好了就不选了。
SMT超线程技术选上。
Preemption Model中选择Preemptible Kernel,就是上面说的那个。
和AMD有关的都不选。
64位系统选上Sparse Memory virtual memmap。()
内存模式Memory model选Sparse Memory,这个主要用来支持内存热插拔,性能也有些优势,32位内核还是选Flat Memory吧。
内存热插拔!!!个人电脑没人会这么做吧。
8G内存开启透明大页内存,Transparent Hugepage Support。
然后开启Enable cleancache driver to cache clean pages if tmem is present,和Enable frontswap to cache swap pages if tmem is present。
Check for low memory corruption不开。
MTRR都开开。
kexec system call不开。
Build a relocatable kernel不开。()
主板是EFI板,开启EFI。
EFI stub用不到,不开。
7.5 电源管理和ACPI:
开启睡眠(suspend,S3)和休眠(hibernate,S4)
默认的resume分区是swap分区,不动。
我看arch上的bbswitch用到了/proc/acpi目录,所以两个deprecated 都选了,或者默认吧。
Processor Aggregator选上,不知道CPU支持不,能省电
Smart Battery System,笔记本就选上吧,不知道支持不。貌似很少有支持的。
Hardware Error Device不选,lspci -n里没有设备ID为"PNP0C33"的设备。
Boottime Graphics Resource Table support允许操作系统获取固件中的启动画面(splash),不开。
CPU Frequency scaling允许CPU调频,达到省电和降温的目的。
补充:watch grep \"cpu MHz\" /proc/cpuinfo 可以实时查看CPU主频变化。
Default CPUFreq governor选择userspace,这样以后可以用cpupower等工具进行调频。
performance powersave userspace ondemand conservative这五个governmor都选上。前两个一定要选,userspace是必选的
x86 CPU frequency scaling drivers里选上Intel P state control(适用于Sandy Bridge and Ivy Bridge)
关掉ACPI Processor P-States drive。
Cpuidle Driver for Intel Processors和Intel chipset idle memory power saving driver也选上吧,查了半天也不知道我这CPU和内存支持不。7.6 bus options:
选上Message Signaled Interrupts (MSI and MSI-X),第一次没选,装Xorg的时候提示要开启。7.7 networking support: 太专业。就默认吧,学校有ipv6,把ipv6协议支持选上。什么业余radio支持用不到,关掉。蓝牙支持开开,USB HCI蓝牙驱动选上。7.8 device drivers:
把SATA和PATA中的SATA SFF support 去掉,SATA硬盘用不到这个。
SATA Zero Power Optical Disc Drive (ZPODD) support开开吧,不知道我的光驱和主板支持不。
就一个硬盘,不开RAID。
不开Block device as cache,这个用于把固态硬盘作为普通硬盘的缓存。
device mapper里选上加密支持,这个cryptsetup加密分区要用。
zero target选上,其他都不选。
网卡驱动按需选择,我有线网卡是Realtek 8169 gigabit ethernet support,用r8169模块,必选。
光纤用不上,FDDI不选。
ppp选上ppp over Ethernet(pppoe),PPP support for async serial ports, PPP support for sync tty ports,PPP Deflate compression和PPP MPPE compression (encryption)(PPTP有关)。
USB网络适配器里提到的都是有线网卡,没有,不选。
无线网卡选Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter,还有b43,b43不支持我的网卡,编译成模块吧。
Synaptics的USB和IRC驱动都选上。
手写板和触摸屏没有不选。
Multimedia support里面把Cameras/video grabbers support选上,Media USB Adapters选上, UVC要选上(USB摄像头)。
显卡驱动里,双显卡,选Laptop Hybrid Graphics - GPU switching support,选上intel显卡驱动,N卡用闭源驱动,务必不要开启开源驱动支持省得麻烦。
DRM要开开因为要用桌面。
Framebuffer选上。
声卡驱动保持默认。
特殊HID设备,把罗技鼠标接收器选上,什么方向盘啊,手写板全去掉。没PS2, PS3,苹果设备,都不选。
thinkpad小红帽想用就选。
*********USB里面,选上USB3.0驱动(XHCI)。********虽然USB3.0是向下兼容的,但我还是把2.0,1.1(只选UHCI,不选OHCI,前者是PC的USB1.1,后者是嵌入式的)支持都选上了。
Root Hub Transaction Translators和Improved Transaction Translator scheduling都选上了,这些和USB集线器(USB1.1的)有关系。
USB打印机不需要,USB无线上网卡留着吧。其他默认。
RTC选上Set system time from RTC on startup and resume。
DMA Engine支持不要。X86特殊设备驱动不要。
IOMMU开开,尽管不知道我的主板芯片组支不支持VT-D(不是CPU的VT-x,注意区分)。7.9 firmware drivers:
选上Export DMI identification via sysfs to userspace和DMI table support in sysfs,主要用于把SMBIOS中的系统识别数据和硬件信息导入用户空间(/sys/class/dmi/id/),这样就可以用dmidecode工具查看7.10 文件系统:
不用NFS,不选。
只支持ext2,ext3,ext4,并且不需要extended attributes。当然ext4 POSIX Access Control Lists需要支持,security label就不要了因为不要SELINUX。
Quota不开。
kernel automounter(自动挂载NFS)也不开。
文件系统缓存Cache也不开。
CDROM里,ISO9660和UDF(大容量刻录盘可能用到)都选上。
NTFS文件系统不选,以后用fuse的ntfs-3g,它是用户态的,不需要内核支持。内核支持的ntfs的写功能也不完善。
在网络文件系统中开启CIFS文件系统支持,因为要用samba
Native Language support选上cp936,这个只是用于FAT32等文件系统的中文支持。7.11 虚拟化开KVM和KVM for intel(VT-X), 要用virtualbox等虚拟机的请选上,否则guest不支持虚拟机CPU多核,bios里也要enable开始编译: make && make modules_install安装内核:make install我机子上编译大概15分钟左右
卤煮有心了~关于Transparent Hugepage Support 这个开了之后CPU(i3-2330M)莫名其妙的一直工作在最大频率.所以关了.
好顶赞,给大牛跪了我折腾一天才进了livecd,求罩
#常用工具emerge -av mlocate ntfs3g net-tools unrar unace pciutils autofs dmidecode unzip wireless-tools dosfstools ntp app-portage/gentoolkit lsof iotop htop bmon nethogs kmod acpi acpitool iproute2 usbutils sysvinit linux-firmware
sys-apps/lsb-release genlopkmod含有modprobe,iproute2含有ip命令。sysvinit有shutdown。linux-firmware有硬件设备驱动二进制文件。印象里遇到的比较大的问题USB无线网卡在内核中开启了驱动支持,但还是用不了。看日志或缺少XXX.bin文件,原来是还要安装linux-firmware。dbus一定要加入启动项,不然slim很可能带不起来xfce,自动挂载移动硬盘也需要dbus支持。没声音最可能的原因是当前用户没加入audio组和默认设置的静音。使用alsamixer查看你是不是静音了。
闭源软件在gentoo,arch好惨啊
免费快速申请借款,快至30分钟到账!
我接触Linux才一年,之前一直是在装Fedora、CentOS、OpenSUSE、Ubuntu等等,今年年初开始接触Slackware,一段时间后开始接触Archlinux到现在,我全部都是硬盘安装。这过程中一直有尝试安装Gentoo,不过全部失败,不过前几天终于装上了,这也是多亏接触了Archlinux,让我真正的接触到了Lniux系的底层操作,当然了,也只是接触而已,实际上我还是大菜鸟一个,不过至少让我真正略懂得了什么才是Linux。现在装上了Gentoo,开始了解USE和Portage,才发现,Gentoo果然有魅力!继续努力学习Gentoo!
第一次内核配置用时间相当长啊...
楼主电脑啥配置啊?发下看看
我的电脑用Intel pstate更耗电 cpu温度更高。那时候没找到原因一chi度不想鸟gentoo。。。
wiki的安装指导我都找不到.....
正是急需的,楼主好样的。
为何有独立的N卡,还要弄双显卡切换呢?unace好用么?麻烦楼主发张图看看,之前用fill-roller,但是在某次更新后,就无法和thun-archiver-plugin关联了,,感觉是丢了某个文件.现在用的xarchiver,但功能略差,似乎某次解压过程中还把x弄挂过..楼主电脑5块钱包邮么?
内核配置很清楚
回去参考试试去
操,你大爷的!按照你配置的,电脑起不来了!!!!
有用的文章,支持
顶一下吧,发帖辛苦。贴吧的多是菜鸟,可以到gentoo群学习。菜菜会指导你的。——金步国的拼音 你可以学一下,金步国老师的网站很详细,他本人也在群里。
livedvd怎么安装?我下载的是2.76G,是不是不用联网也能安装?
为什么gentoo还推荐用openrc,debian8都直接上system了。
内核我直接用的genkernel -all,太多选项了现在纠结使用system还是openrc,gnome已经有without systemd的patch了,但是不知道咋样
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或3399人阅读
linux shell 学习(4)
&&&&&一、下载部分:
& & & 5,https://wiki.gentoo.org/wiki/Handbook:Main_Page/zh-cn & 是gentoo的中文手册
&&&& 相關說明:
&&&&& 是用來啟動安裝的,算是啟動盤吧!
&&&&& 是gentoo的基本系統,包括目錄結構、常用軟件、開發套件,如Glibc、Binutils、GCC、Coreutils等。
&&&&&&軟件的快照,與包管理相關的。
&&&&& 是內核,版本可以隨便選擇,现在4.x.x是比较新的内核。
&&&&& 新建一臺虛擬機。
&&&&& 如題,我用的是vmware, 可供選擇的還有virtualbox等, 默認你已安裝好了。現在我們來新建一臺虛擬機。
&&&&& 我們在這個步驟時裝入install.iso :
&&&&& 二、安装部分
&&&&&&2.1 前奏
&&&&& 虚拟机创建完毕,然后点选啟动吧。 LiveCD启动完毕,进入cd预设好的linux环境。好,让我们輸入命令看看是否獲取到IP,如有开启了DHCP服務,一般都已自動配置IP了,然后再修改密碼,默認是沒有密碼的,改了密碼后打開ssh服務,然后就可以winscp之類的工具把文件(stage,portage,kernel)上傳過去,不過傳輸文件前要把硬盤mount起來,因為文件最終是要放到硬盘空間里。mount硬盤前要把硬盤分區,然后格式化成ext3文件系統。當然文件系統可以是ext4、reiserfs等,各人喜歡吧,這里不討論文件系統優劣。
&&&&& 命令:
&&&&& $ ifconfig&&& (查看網絡接口卡)&&&&&&&&&&&&&&&&&&
&&&&&&$ passwd&&&(更改密碼)&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&$&/etc/ini.d/sshd start&&& (開啟ssh服務)
&&&&&&&&&&
&&&&&&& 2.2 分區与格式化
# fdisk& /dev/sda&&&& (我的是sda,其它有可能是hda之類的,看用什么接口類型,SCSI一般會是sd打頭,IDE是hd開頭)
&&&&&&& 格式化與mount:
&&&&&&&&$ mke2fs -j& /dev/sda1&&&&&&&&(建立ext3文件系統, ext3是ext2的擴展,多了日志功能,所以用mke2fs -j 命令)
&&&&&&&&$ mount /dev/sda1 /mnt/gentoo&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&$ df -h&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(看看我們的硬盤是不是可以用了呢)&&&
&&&&&&&&&&2.3上传或下载&
&&&&&&&& 上傳stage和portage,kernel,這步聚我使用winscp來完成。如果前面没进行下载步骤,则可直接在livecd里敲入wget命令下载。
&&&&&&&&&#cd & /mnt/gentoo&&&&&&&&&&&
&&&&&&&&&#&wget&&&&&&&
&&&&&&&&&#&wget &&&&
&&&&&&&&&&
&&&&&&&& 2.4解压&
&&&&&&&& 接下來先把stage3解壓到當前的目錄中:
&&&&&&&&&# tar xvf stage3-i686-.tar.bz2&&(確定你是在gentoo目錄下,就是硬盤所在目錄吧)
&&&&&&&&&tar后帶的參數是要打印解壓的細節,而為什么不帶壓縮包屬性參數啦,因為新版本會自動檢測我们的包是bz2還是gz。
&&&&&&&& 我們再把portage解壓到/usr目錄下:
&&&&&&&& #tar xvf portage-latest.tar.bz2 -C /mnt/gentoo/usr&
&&&&&&&& 之后可以把 stage3-i686-.tar.bz2&&和 portage-latest.tar.bz2 刪除
&&&&&&&&&#rm -rf& portage-latest.tar.bz2& stage3-i686-.tar.bz2&&
&&&&&&&&&三、配置文件
&&&&&&&&&這時候需要修改一下 etc/mak.conf& ,& 注意路徑哦,這個make.conf是你之前解壓出來的,完整路径是/mnt/gentoo/etc/make.conf。
&&&&&&&&&我們需要在make.conf里添加一個源, 源是什么呢? 它是下載和同步軟件包的源頭, 國內163, sina等網站現在都架設了這類型的服務。 我就采用163的源吧,感覺速度也過得去。這里不討論什么國內國外的區別,大家用得著就可以了
&&&&&&&&&$cat & etc/make.conf && eof&&&&&&
&&&&&&&&&&&&&&CFLAGS=&-O2 -march=i686 -pipe&&&&&&&&&
&&&&&&&&&&&&& CXXFLAGS=&${CFLAGS}&&&&&&&&
&&&&&&&&&&&&& CHOST=&i686-pc-linux-gnu&&&&&&&&&&&&&&&&
&&&&&&&&&&&&& GENTOO_MIRRORS=&&&&&
&&&&&&&&&&&&& SYNC=&rsync:///gentoo-portage&&&&&&&&
&&&&&&&&&&&&& MAKEOPT=&-j8&&&
&&&&&&&&&&&&& eof&&
&&&&&&&&&&&&&
&&&&&&&&&&MAKEOPT后面的參數&-j8&參照實際cpu數,一般是有幾個核就設多少個核加1。實際上你設個2就可以,作用并非很明顯。
&&&&&&&&&&接下來配置域名服務器:
&&&&&&&&&&&$cat& & /mnt/gentoo/etc/resolv.conf&&& eof&&&&&&&&&&&&&
&&&&&&&&&&&&nameserver 8.8.8.8&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&& nameserver 8.8.4.4&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&eof&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&nameserver可以加多個。
&&&&&&&&& 然后是網絡配置, 這兩步其實是可以在后面配,不過先配也沒所謂。
&&&&&&&&&&$cat & /mnt/gentoo/etc/confi.d/net&&&& eof&&&&&
&&&&&&&&&&&&config_eth0=( &192.168.7.44 netmask 255.255.255.0 /&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& brd&&192.168.7.255& )&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&routes_eth0=( &default via 192.168.7.254& )&
&&&&&&&&&&&&eof&&&
&&&&&&&&&& ip根椐實際情況配置吧,不要照抄。
&&&&&&&&&&
&&&&&&&&&& 四、chroot
&&&&&&&&&& 好,接下來到了激動人心的一步啦,那就是chroot, 不過chroot還要做一下設置。
&&&&&&&&&&&$mount -t proc none /mnt/gentoo/proc&&
&&&&&&&&&&&$ mount --rbind /dev /mnt/gentoo/dev&&&
&&&&&&&&&&&&proc是一種文件系統,存在在內存中,mout proc的意思就是說接下來chroot后可以和livecd共用相同的proc系統,proc里面的內容基本上由內核提供。 而mount dev&的意思呢? 當然也是為了chroot后可以和livecd使用同樣硬件設備,最常用的如硬盤。
& & & & & &&#chroot /mnt/gentoo &/bin/bash&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&& #env-update&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&& && Regenerating &/etc/ld.so.cache...&&&&&&&&&&
&&&&&&&&&&& # source /etc/profile&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&& # export PS1=&(chroot) $PS1&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&& ok,現在你就已經進入你所要安裝的gentoo 環境中。
&&&&&&&&&&&& 我們再改一下密碼, 因為我們之前的密碼并不適用于這個環境中。
&&&&&&&&&&&& # passwd&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&& 我們還要做什么嗎? 當然要呀,還有很多事沒做。
&&&&&&&&&&&&&我們先得同步一下portage,敲入命令:
&&&&&&&&&&&#emerge --sync&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&
&&&&&&&&&&&&&如果覺得比較慢,可以用更快的命令代替:&&
&&&&&&&&&&& #
emerge --sync --quiet&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&& sync需要好幾分鐘啦,同步完畢后可能有什么new之類的提示,打入命令解決它:
&&&&&&&&&&&&# eselect news read all&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&& 然后我們需要在系統的使用目的上做出決擇,先看看有什么可選擇的:
&&&&&&&&&&& #eselect profile list&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&& Available profile symlink targets:
&&&&&&&&&&&&&&&&&&&&& [1]&& default/linux/x86/10.0 *
&&&&&&&&&&&&&&&&&&&&& [2]&& default/linux/x86/10.0/desktop
&&&&&&&&&&&&&&&&&&&& &[3]&& default/linux/x86/10.0/server
&&&&&&&&&&&&&&&&&&&&&&[4]
&&&&&&&&&&&&&&&&&&&&&&& .
&&&&&&&&&&&&&&&&&&&&&&&&.
&&&&&&&&&&&&&&&&&&&&&&& .
&&&&&&&&&&&&&&&&&&&&&&[15]
&&&&&&&&&&默認是1, 推薦也是1,你可以選擇其它, 區別不大, 主要是安裝的包的版本會有出入,有些軟件包可能無法解決依賴關系,但無需關心。更改的方法是:
&&&&&&&&&&#eselect
profile set 2&&&&&&(或者3,4,5,6-15)
&&&&&&&&&&接下來設置本地化,和裝windows差不多。
&&&&&&&&&&#nano -w /etc/locale.gen&&&&&&&&&&&&&&&&
&&&&&&&&&& nano和windows的寫字板一樣,直接改了就成,我把en_US.UTF-8 前面的#去了,意思是我使用英語環境吧。
&&&&&&&&&&&然后來個命令就可設置完畢:
&&&&&&&&&&&#locale-gen&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&設置時區:
&&&&&&&&&&&#cp
/usr/share/zoneinfo/Shanghai /etc/localtime&&
&&&&&&&&&&&
&&&&&&&&&&
&&&&&&&&&& 五、linux内核
&&&&&&&&&&&基本系統設置完畢,好了,到了最重要一步, 編譯內核哦, linux本身是內核, 我們之前所使用的軟件全是基于內核的,沒內核我們運行不了。有人會問,那我們現在沒裝內核,為什么能運行哦?
其實我們現在所在的環境是livecd提供的哦, 我們之前用來啟動的install cd包含了linux的內核, 比如我們之前的mount proc目的就是要共享這個內核數據, mount -o bind /dev 就是要和這個內核的駆動表作個綁定。
&&&&&&&&&& 編譯內核對于初學者來說可能聽起來很高深,其實我們這樣編譯內核和在windows里安裝軟件并無多大區別,區別可以在于多了一些自定義的選項。有些初學者可能會以為編譯內核需要很專業的知識,又或者會了編譯內核是件多么了不起的事,
其實不然,編譯內核并不能說明你能學到多少,懂多少, 實際上編譯內核可能不會提高丁點兒的專業知識。
&&&&&&&&&&&要想提高水平,最好是把內核的幫助文檔看一遍,你會使你對cpu,對計算機的架構有一定的認識,然后亦會加深你對linux的系統架構的了解,為你進一步學習內核打下基礎。這里就不再討論內核的問題了,我將會在以后的筆記里聊一下我對內核的看法,我是如何學習內核的。
&&&&&&&&&&&gentoo編譯內核其實蠻簡單的,還記得文章開始時下載的
linux-2.6.39.tar.bz2吧,無錯,這就是我們要裝的內核,我這樣安裝算是走了一步稍為麻煩的路子了,gentoo有更簡單的方法安裝。
& & & & & &&#emerge
gentoo-sources&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&
# emerge genkernel&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
& & & & & &&#genkernel
all&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&& 哈哈,就是這三步曲就把內核裝好。 emerge又出場啦,大家還記得前面的命令 emerge --sync 吧,呵呵, emerge 是gentoo世界里的萬能之神, 不過它只不過是個是相當于倉庫管理員的角色罷了, emerge沒選項是默認是安裝動作, 如emerge genkernel,意思是要安裝genkernel這個軟件包,它會先把這個包下載到本地/usr/portage/distfiles這個目錄下,然后根椐/usr/portage里面相關規則進行解壓與編譯,編譯過程中/etc/make.conf能起到關鍵作用,里面的USE=&&是對軟件包編譯可選功能的控制。我們安裝軟件時,一般不會直接用emerge裸奔,而是在后跟參數
-av, 這樣我們就能看到這個包是否安裝過?有什么功能可選。而emerge -s& strings則是查找portage里包含有strings的軟件包,然后把該軟件包名稱打印出來。 如果有人用過FreeBSD,一定會覺得它們之間很相似,據說gentoo的包管理是模仿FreeBSD的。
&&&&&&&&&&& 手動安裝內核的過程也較為簡單,先是把內核解壓到/usr/src目錄去,為什么要解壓到這里呀? 因為習慣嘛,你可以解壓到任何地方。&&&&&&
&&&&&&&&&&&&# tar xvf&&&linux-2.6.39.tar.bz2 -C /usr/src&&&&&&&&&&&&
& & & & & & # ln -s /usr/src/linux-2.6.39& /usr/src/linux&&&&&&&&&&&&
&&&&&&&&&&&&用ln -s建立一個軟連接,軟硬連接的區別是硬的能生兒育女,軟的不能,所能軟的當它的源刪了就什么都沒有了,我所認為的建一個軟連接的目的是為了方便編譯不同版本的內核,但實際上并沒能帶給多少的方便。
&&&&&&&&&&&&& 進入linux目錄:
&& & & & & & &#
cd linux&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&#
make mrproper&&&&&& (比make clean 清理得干凈,&config文件、備份等都會被清除,也就說運行后,代碼足夠的干凈)&&&&&&&&
&&&&&&&&&&&&&&# make& menuconfig&&
(好吧,讓我們盡情的選擇吧。值得關心的就是驅動了,也就是Device Drivers里面的分枝慢慢挑吧。至于如何配置,大家本著學習的態度,我們應該把不知道的每項的help都捉摸一遍,這才會有所幫助&這里我就不多說了。下次再做個有關如何配置的筆記。)&&&&&
&&&&&&&&&&&&&&#make bzImage&&&&&&&&(配置完畢,用這命令生成內核吧,眾所周知這是壓縮過的內核,它在啟動時會自解壓。現在的命令比較智能化了,它在&&&&&
make&image前如發現有更新的改到,又或者沒有make過,它就會make一遍,所以我們無須關心是否要不要編譯一次。接下來應該是make modules 但我把功能都都做到內核里了,且沒有其它需要的module,所以就make modules了,等需要功能擴展時再make,反正內核已選Enable
loadable module support, 這樣以后要開發模塊時,就不用重新編譯內核。在這里大家要弄明白概念,module可能是內核的一部分,但內核和module是各自獨立的 兩個東西,內核不依賴module存在,但module依賴于內核。)&&&&&&&&&
&&&&&&&&&&&&&&&&&&闲话initrd
&&&&&&&&&&&&&如果是用genkernel all 生成的內核,又或者ubuntu,readhat等發行版,又或者我們的install cd,都會有一個initrd, 那么它是要做什么的呢?為什么我們手工編譯的內核沒有這個東東呢?& 我們可以說initrd是一個包含著某些模塊文件的包,包里面還有一些基本應用程序,它可以作為一個根文件系統被加載到內存中去,用于無盤操作,亦可以要來加載特定的驅動供我們的內核使用。 為什么我們自已編譯內核時不需要呢?那就是因為我們知道我們的計算機用什么驅動了,且已編譯到內核里面去啦,所以就不需要這個東東了。當然,這個東東有很多特別的用途,如果我們用usb設備做根文件系統時,制作一個initrd能幫助到我們的內核順利的mount上usb硬盤。initrd技術還大量應用于堪入式的產品中。至于initrd制作也不算復雜,準備好文件后用cpio就能制作,麻煩的是準備文件的過程。
這里提到initrd旨在給大家一個初步的了解,深入的討論又是另外一個話題了,如果可能會在另個的筆記里探討。
&&&&&&&&&&&&&我們把內核復制到/boot目錄下,工作就算是完成了,但gentoo的安裝并沒有結束,我們還要做最后一步安裝工作,我們需要一個叫啟動選擇器的東東,就是俗稱為boot loader的大俠,它幾乎無所不在,除非真的是單干的機器,就是單片機之類啦,要不你離不開boot loader大俠的幫助。我們要把內核啟動起來,第一步工作就是要把內核裝載到內存里,如何裝載呢? 這就是boot loader的能力了,boot loader加載內核后就會讓出對系統的統治地位,所以說它大俠,就是因為它不迷戀權位,內核接掌最高領導人的職位后,會一直到系統死機,也就是終生制啦。不過在它的統治下,我們可以自由的方便的與它打交道,至于自由到什么程度呢?
那就要看你對它的認識有多深了。
&&&&&&&&&&&&&Boot Loader
&&&&&&&&&&&&&我們選用grub這個boot loader作為系統的引導者吧,因為它比lilo友好,亦因為它無處不在。
&&&&&&&&&&&&&# emerge grub&&&&&&&&&&&&
&&&&&&&&&&&&&gentoo很多時候都是emerge的舞臺,我們就看它表演吧, 不一會它就把grub搞定了,但我們還要把grub安裝到硬盤的第一個扇區中,也是要裝到大名鼎鼎的MBR里,我們可以稱MBR為超級塊,BIOS是系統的開國皇帝,而它的繼位者必定是在MBR里產生的,如GRUB。
&&&&&&&&&&&&&&# grub&&&&&&&&&&&&&&&&&&&&&&(運行grub)&&&&&&&&&
&&&&&&&&&&&&&&&&&setup(hd0)&&&&&&&&&&&&&(安裝到MBR里)&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&quit&&&&&&&&&&&&&&&&&&&&&&&(退出)&&&&&&&
&&&&&&&&&&&&&&&&然后我們需要構造一個配置文件給grub , 文件里提供內核的選單, 這樣才完善grub選擇器的功能。
&&&&&&&&&&&&&&&# cat& & /boot/grub/grub.conf&&&& && eof&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&& default 0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&timeout 2&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&& title Gentoo Linux&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&root (hd0,0)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&kernel /boot/bzImage root=/dev/sda1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&eof&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&& bzImage 根據實際情況寫,它的來源就在/boot目錄下,其實一般名字都叫vmlinuz, 如果是genkernal生成的就叫kernel-genkernel-xxx ,大家可以看清楚哦, 如果是genkenel的還應該用initrd哦, 如下:
&&&&&&&&&&&&&
&&&&&&&&&&&&&&&# cat& & /boot/grub/grub.conf&&&& && eof&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&& default 0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&timeout 2&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&& title Gentoo Linux&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&root (hd0,0)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&kernel /boot/kernel-genkernel-xxx root=/dev/sda1&&&&&&&
&&&&&&&&&&&&&&&&&&&&initrd& /boot/initramfs-genkernel-xxx&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&eof&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&& 還有一個配置文件是我們必須關注,就是/etc/fstab
&&&&&&&&&&&&&&&&&&&&# cat & /etc/fstab& && eof&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&& # &fs&&&&&&mountpoint&&&& &type&&& &opts&&& &dump/pass&
&&&&&&&&&&&&&&&&&&&&&&& /dev/sda1&&&&&&&&& /&&&&&&&&&&ext3&&&&&&&&&&& noatime&&&&&&&&&&&&&&&& &0 1&
&&&&&&&&&&&&&&&&&&&&&&&&eof&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&& Gentoo包管理&
&&&&&&&&&&&&&&&&&&&OK, 我們的gentoo總算安裝完畢, 以后的事是emerge的世界了, 下面有些常用的命令我們有需要熟識。
& & & & & & & & & & & &
&emerge –sync&&&&&&&&&&&&&&&&&&&&& 同步portage-
&&&&&&&&&&&&&&&&&&&&&& emerge -uD world&&&&&&&&&&&&& 升级整个系统-
&&&&&&&&&&&&&&&&&&&&&&&emerge &PackageName&&&&&&&&&&& 安装软件包-
&&&&&&&&&&&&&&&&&&&&&&
emerge &PackageName& -f&&&&&&&下载指定软件包安装所需文件
&&&&&&&&&&&&&&&&&&&&&& emerge &PackageName& -pv&&&& 查看安装指定软件包的依赖性及use flags-
&&&&&&&&&&&&&&&&&&&&&&&emerge -C &PackageName&&&&&&&&卸载软件包
&&&&&&&&&&&&&&&&&&&&&& euse -E &use-flags&&&&& 设置允许use flag(修改/etc/make.conf中的USE)-
&&&&&&&&&&&&&&&&&&&&&& euse -D &use-flags&&&& 设置禁止use flag(修改/etc/make.conf中的USE)-
&&&&&&&&&&&&&&&&&&&&&& euse -i &use-flag&&&&&&& 查询use flag描述-
&&&&&&&&&&&&&&&&&&&&&& eix &RegExp&&&&&&&&&& 搜索软件包-
&&&&&&&&&&&&&&&&&&&&&& eix -I&&&&&&&&&&&&&&&&&&&&&&&&& 列出系统中已安装的软件包-
&&&&&&&&&&&&&&&&&&&&&& equery files &PackageName&&& 列出已安装包的文件
&&&&&&&&&&&&&&&&&&&&&& equery belongs &FileName&&&&& 查询已安装的指定文件属于哪个包-
&&&&&&&&&&&&&&&&&&&&&& ebuild &xxx.ebuild& digest&&&& 生成摘要文件
&&&&&&&&&&&&&&&&&&&&&& ebuild &/var/db/pkg/xxx/xxx.ebuild& config 初始化设置-
&&&&&&&&&&&&&&&&&&&&&& 注:要使用euse、equery需要安装lkit包,eix需要安装eix包。-
&&&&&&&&&&&&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:52348次
排名:千里之外
原创:13篇
转载:28篇

我要回帖

更多关于 gentoo linux 安装 的文章

 

随机推荐