As the windows part was done, it is time to do the productive environment used for work – Gentoo Linux. As already mentioned in one of my previous posts, we are talking about a 64bit system. But before watching the GCC output, it’s time to look at some specs and hints. I’ll start with the CPU which specs look quite impressive to me:
denkbrett / # cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Duo CPU T9600 @ 2.80GHz stepping : 6 cpu MHz : 2792.854 cache size : 6144 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority bogomips : 5587.44 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:
I guess I don’t need to post the data of the second core here, as it is exactly the same as the one already seen here. Regarding the output seen above, the resulting CFlags would be “-march=core2 -O2 -pipe”, which is only supported by newer versions of the GCC. So we are forced to lower them a bit to “-march=nocona -O2 -pipe” until we are able to upgrade our compiler. Next thing we’re inspecting is the lspci listing:
00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07) 00:01.0 PCI bridge: Intel Corporation Mobile 4 Series Chipset PCI Express Graphics Port (rev 07) 00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) 00:03.0 Communication controller: Intel Corporation Mobile 4 Series Chipset MEI Controller (rev 07) 00:03.2 IDE interface: Intel Corporation Mobile 4 Series Chipset PT IDER Controller (rev 07) 00:03.3 Serial controller: Intel Corporation Mobile 4 Series Chipset AMT SOL Redirection (rev 07) 00:19.0 Ethernet controller: Intel Corporation 82567LM Gigabit Network Connection (rev 03) 00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03) 00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03) 00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03) 00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03) 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03) 00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03) 00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03) 00:1c.2 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 3 (rev 03) 00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 4 (rev 03) 00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 03) 00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03) 00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03) 00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03) 00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93) 00:1f.0 ISA bridge: Intel Corporation ICH9M-E LPC Interface Controller (rev 03) 00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03) 00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03) 01:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon HD 3650 03:00.0 Network controller: Intel Corporation Wireless WiFi Link 5300 04:00.0 Memory controller: Intel Corporation Turbo Memory Controller (rev 11) 15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba) 15:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04) 15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21) 15:00.3 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 11) 15:00.4 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 11) 15:00.5 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 11)
I have to admit, I have never seen such long lists showing up – but as you can see, Lenovo didn’t save at the wrong parts as there’s anything included a user may desire. As gentoo geek I am working with a stage 1 install which isn’t supported by the deveopers – but who cares about support if there is no company behind it?
After this small trip through the hardware section, it’s time to think about the partition scheme. I have decided to have seperated /boot, /home and portage partitions. Experience shows that a seperated boot partition can save you much hassle as the kernel is kept out of range and you can choose any filesystem as a rootfs the kernel supports because the bootloader doesn’t need to reat it. Keeping the home directories separated makes it easier for me in case of reinstallations, as I just disregard them and mount them back in again if finished. Portage is a topic of its own regarding our daily rsync due to fragmentation. Yes, it happens on linux too. But keeping portage on its own partition, I don’t need to worry about it.
After mounting the partitions it’s time to unpack the stage archive and chroot into our new environment to be, where we can dangle the make.conf in shape for starting the bootstrap process which can take quite some time. Firing up another machine for playing or taking a nap aren’t the worst things you can do while waiting. But it’s definitively worth waiting. Regarding the new hardware, I am using ACCEPT_KEYWORDS=”~amd64″. Keep in mind: ~arch is the gentoo testing branch which includes some new drivers and software which might be a bit untested in the gentoo land. But don’t set that before the bootstrap finished, as it might break things!
As gentoo testing includes a newer GCC version, it’s a good thing to look over the cflags section of the make.conf file before doing a “emerge -e system” and set them to the newer core2 architecture, which is an immense speed gain. Even at compiling. As we’re just modifying the make.conf file, it’s time to add some hardware specific settings:
INPUT_DEVICES=”keyboard mouse wacom evdev synaptics”
VIDEO_CARDS=”intel vesa radeon radeonhd fglrx”
If you have wondered about the second VGA card in the notebook, here’s the explanation: the intel card is a low power card which can be used for the common work to save some battery power. If you need some more 3d performance, you can switch to the ATI card.
For today I am still waiting for my compiler to do some number crunching. So I hope you’ll be with me again with the next part of this blog series.