# Switching from Genkernel help

## ShanaXXII

So today, I decided to switch to the manual configuration. I referenced to the installation handbook -> https://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?full=1

I went into /usr/src/linux

started up the menuconfig with # make menuconfig

Idk if this is suppose to happen or not, but it read the configuration I had for genkernel. I checked multiple times to make sure.

So I exited the menuconfig, did # make && make modules_install

Then a # make install

I then updated my bootloader -> # grub2-mkconfig -o /boot/grub/grub.cfg

It found my Genkernel and its initramfs

Then my manual kernel and the initramfs from genkernel.

Then my windows 7 on a seperate partition

I rebooted and booted into the manual kernel no problem. But I didn't really want the initramfs with it.

So I went into the grub2 bootmenu and deleted the part to tell it to load the initramfs for the manually configured kernel. 

Rebooted and tried to boot into it, and it failed to boot and stopped with an error. :\

----------

## The Doctor

See http://kernel-seeds.grytpype-thynne.org/working.html for advice on the proper way to configure a kernel. Unfortunately, the seeds are out of date, but the default config works just fine as a base. Don't forget to run make clean before rebuilding the kernel.

EDIT: Yes, Jaglover's suggestion is better. make clean only cleans up the files leftover from the build while make mrproper will clear the old .config as well.

----------

## Jaglover

To clean up your kernel sources you should run make mrproper.

----------

## ShanaXXII

 *Jaglover wrote:*   

> To clean up your kernel sources you should run make mrproper.

 

I think it's already done that. Everytime I # genkernel --menuconfig all it always says running old config, running mrproper

----------

## Jaglover

When you run make menuconfig it will not run make mrproper for you.

----------

## ShanaXXII

 *Jaglover wrote:*   

> When you run make menuconfig it will not run make mrproper for you.

 

I ran mrproper, then # make menuconfig. # make && make modules_install. Then # make install

# grub2-mkconfig -o /boot/grub/grub.cfg

it gave me an error saying there is no file or directory.

I compiled genkernel again.

did # grub2-mkconfig -o /boot/grub/grub.cfg

it found Genkernel and its initramfs

it found vmlinuz and genkernel's initramfs.

it found windows 7 on a seperate partition.

I rebooted, went into grub2menu and deleted the part that told it to boot the initramfs when booting from vmlinuz.

I booted into it and it gave me an error:

I cant rememeber all of it, but it was something like this:

```
[Call Trace]

[ffffffff0x8049] .......

[ffffffff......]........

[fffffff.......]........

[ffffffff......]........

[ffffffff......]........

[fffffff.......]........

[ffffffff......]........

...

[end trace]
```

----------

## wraeth

 *ShanaXXII wrote:*   

> I rebooted, went into grub2menu and deleted the part that told it to boot the initramfs when booting from vmlinuz.
> 
> I booted into it and it gave me an error:
> 
> 

 

This is because one or more of the drivers your kernel needs in order to boot is built as a module. This is a problem because the modules are stored on your root filesystem and, if your kernel lacks the necessary drivers for loading and mounting your root filesystem, it cannot boot.  The reason it works with the initramfs is because that is one of the primary purposes of an initramfs - to provide modules for the kernel to be able to enumerate and load your root filesystem.

If you want to be able to boot your manual kernel without an initramfs, then you need to return to menuconfig and ensure that the drivers for your motherboard and filesystem are built-in to the kernel (<*>) and not built as modules (<M>).

Also, as a tip: when building the kernel, you can also use the -jX option the same as MAKEOPTS in your make.conf:

```
linux # make -j7 && make modules_install && make install
```

Edit:

It should be noted as well that one of the other purposes of an initramfs is to provide any userspace utilities needed for booting, such as cryptsetup for encrypted drives or lvm for lvm-based filesystems. If you use something like that, then you may not be able to boot without an initramfs.

----------

## ShanaXXII

 *wraeth wrote:*   

> This is because one or more of the drivers your kernel needs in order to boot is built as a module. This is a problem because the modules are stored on your root filesystem and, if your kernel lacks the necessary drivers for loading and mounting your root filesystem, it cannot boot.  The reason it works with the initramfs is because that is one of the primary purposes of an initramfs - to provide modules for the kernel to be able to enumerate and load your root filesystem.

 

I followed the tutorial here to build my kernel as mine is the same model. -> http://gentoo-en.vfose.ru/wiki/Dell_Inspiron_1564

The site isn't working right now for some reason :/ for me at least.

I also did a few changes here and there because mine is an i5 instead of an i3, and Intel HD graphics instead of ATI graphics.

But it still doesn't work.

----------

## NeddySeagoon

ShanaXXII,

Somewhere on the screen should be a message about a Kernel Panic

It might end it the text unknown-block(x,y) where x and y are numbers.

If you see that, tell us x and y.  If not, the complete English text panic message will be useful.

Avoid make mrproper unless you really need it. It removes your .config file.

make clean should be sufficient. That leaves your .config alone.

----------

## Arthanis

As someone already said, probably you are missing drivers needed to read your root filesystem (i.e chipset, sata controller, etc).

I have always used manual configuration to keep my kernel clean, and what have helped me a lot is to boot any live CD (I recommend system rescue CD, but you can boot gentoo live as well) and run on prompt:

```
lspci -k
```

which will not only show you your current hardware, but also will show you the kernel module in use. Then you can take notes and search for their symbols in menuconfig, enable them (for sata and disk controllers built-in, not as modules), install your kernel, build modules and reboot.

----------

## ShanaXXII

 *Arthanis wrote:*   

> 
> 
> ```
> lspci -k
> ```
> ...

 

I did # lspci -k

and I see a lot of stuff that don't have any modules or kernel drivers for it :/ Like the intel processor stuff in the end.

```
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02)

   Subsystem: Intel Corporation Device 8086

ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02)

   Subsystem: Intel Corporation Device 8086

ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02)

   Subsystem: Intel Corporation Device 8086

ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02)

   Subsystem: Intel Corporation Device 8086

ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02)

   Subsystem: Intel Corporation Device 8086

ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02)

   Subsystem: Intel Corporation Device 8086
```

Heres the whole list. I did make some changes to my kernel after I searched up the kernel drivers/modules to see if they were built in or not, but just in case, if u can please point out the necessary changes  (:

```
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 12)

   Subsystem: Dell Device 0434

   Kernel driver in use: agpgart-intel

00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 12)

   Subsystem: Dell Device 0434

   Kernel driver in use: i915

00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)

   Subsystem: Dell Device 0434

00:1a.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)

   Subsystem: Dell Device 0434

   Kernel driver in use: ehci-pci

00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)

   Subsystem: Dell Device 0434

   Kernel driver in use: snd_hda_intel

00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)

   Kernel driver in use: pcieport

00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)

   Kernel driver in use: pcieport

00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)

   Kernel driver in use: pcieport

00:1d.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)

   Subsystem: Dell Device 0434

   Kernel driver in use: ehci-pci

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)

00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)

   Subsystem: Dell Device 0434

00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 06)

   Subsystem: Dell Device 0434

   Kernel driver in use: ahci

00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)

   Subsystem: Dell Device 0434

00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)

   Subsystem: Dell Device 0434

03:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)

   Subsystem: Dell Wireless 1397 WLAN Mini-Card

   Kernel driver in use: b43-pci-bridge

04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)

   Subsystem: Dell Device 0434

   Kernel driver in use: r8169

ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02)

   Subsystem: Intel Corporation Device 8086

ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02)

   Subsystem: Intel Corporation Device 8086

ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02)

   Subsystem: Intel Corporation Device 8086

ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02)

   Subsystem: Intel Corporation Device 8086

ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02)

   Subsystem: Intel Corporation Device 8086

ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02)

   Subsystem: Intel Corporation Device 8086
```

----------

## wraeth

 *ShanaXXII wrote:*   

> 
> 
> ```
> 00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 12)
> 
> ...

 

I think the key pieces here are the ones I've filtered above.

i915:

To have your high-resolution console available as quickly as possibly (which can be useful when debugging issues), you may want this built in to your kernel. That being said, some people recommend keeping this built as a module; in which case you want to ensure you have the VGA_CONSOLE option enabled - you need some sort of console available should anything happen.

ahci:

This is the key piece - the driver for the chipset controlling your hard disks - you need this built in. Additionally, you need the driver for your root filesystem built in to the kernel as well.

pcieport:

This is somewhat dependent on your actual hardware configuration - if you have any boot-critical devices attached to the PCI subsystem, then you need this driver built-in.

ehci-pci:

Not so critical, but can be useful if you need to use the keyboard before the filesystem is loaded (and, obviously, if you have a USB keyboard).

One thing that I'm not sure of is the "HECI Controller" - I don't know exactly what that is. That being said, it doesn't have a driver loaded in the live environment, so we can assume it's not critical to your boot process. For what it's worth, though, I did find a page [1] suggesting using the "mei" driver.

[1] http://h-node.org/hostcontrollers/view/en/871/Intel-Corporation-5-Series-3400-Series-Chipset-HECI-Controller--rev-06-

----------

## ShanaXXII

Sorry, but my dad got angry and said that 

linux is a 'waste of time' and forced me to wipe all my Linux stuff    ),:<      T_T

-sad   :Sad:   -angry   :Evil or Very Mad: 

----------

## Arthanis

Thas is sad. Tell that to your dad when you are making 6 figures as a sysadm / IT chief. Anyway, I think its worth to install some VM to play around with linux.

Anyway, about the missing drivers, I advice you to get a distro that has A LOT of modules that are then auto loaded using udev hardware detection, like ubuntu and sysrescue cd. Good luck.

----------

## khayyam

 *ShanaXXII wrote:*   

> Sorry, but my dad got angry and said that linux is a 'waste of time' and forced me to wipe all my Linux stuff

 

ShanaXXII ... sorry to hear that. Having graduated from taking apart vacuum cleaners, stereo systems, bicycles (and pretty much *anything* with moving parts) my parents were releaved when I developed an interest in other things (or more accurately *not* dismantling things they relied on). My parents were probably (no, definitely) more tollerant than most ITR and thankfully let those urges exhaust themselves but I wonder what I would have "wasted my time" on were this not the case and what kind of person I would be had they been less understanding. Up until they both passed on they were able to turn the tables by calling me at all hours day and night and relating how something or other is "on the blink" and would I come over and take a look, so, they probably were right not to make too much of it at the time.

Anyhow, the above is silly ... you can not waste time, only use it.

best ... khay

----------

## The Doctor

Sorry to hear your dad don't appreciate computers.

If you really like computers I suggest you have a conversation (or have him look up) what Linux is used for. It is the dominate server OS and it is the primary OS used in CS research. In physics basically all of our computing infrastructure uses Linux. 

If you have any aspirations to work with computers professionally, any amount of time spent learning Linux is time well spent.

----------

## ShanaXXII

 *Arthanis wrote:*   

> Thas is sad. Tell that to your dad when you are making 6 figures as a sysadm / IT chief. Anyway, I think its worth to install some VM to play around with linux.
> 
> Anyway, about the missing drivers, I advice you to get a distro that has A LOT of modules that are then auto loaded using udev hardware detection, like ubuntu and sysrescue cd. Good luck.

 

Yeah, guess I'll take a crack at virtualbox or something.

----------

## ShanaXXII

 *The Doctor wrote:*   

> Sorry to hear your dad don't appreciate computers.
> 
> If you really like computers I suggest you have a conversation (or have him look up) what Linux is used for. It is the dominate server OS and it is the primary OS used in CS research. In physics basically all of our computing infrastructure uses Linux. 
> 
> If you have any aspirations to work with computers professionally, any amount of time spent learning Linux is time well spent.

 

My dad actually used to be a computer engineer and stuff. He's got stacks of books on Unix and Linux etc. But after moving to Canada, he had to do other jobs to get a living. Now he's basically out-dated with computers. So he doesn't really want me to do the same thing --> He feels I'm gonna have to constantly learn more and its gonna be very hard to keep up. 

Hes switched careers now into the medical field. :\

----------

## NeddySeagoon

ShanaXXII,

Install Virtualbox on windows - I guess you are not a Mac user.

Virtualbox is a program that emulates a PC on your PC, from the BIOS on up.

Its not a true emulator, in that programs running in Virtualbox actually run on your CPU, so you don't get the slowdown that goes with emulating a CPU at the register level.

With VBox installed, wake a virtual machine with say 1G RAM and 40G hard drive.  The hard drive will actually be a file on the host filesystem.

Use Virtualbox to boot System Rescue CD then install Gentoo as you would normally.  

There is a small trap for the unwary. Virtualbox emulates hardware too, so when you run lspci inside Virtualbox, you see its emulated hardware, which is nothing like your real hardware.

When you install your Gentoo, you install for the hardware that lspci tells that virtualbox provides.

Tell your dad that set top boxes, TVs, DVD players etc. are Linux. Android is Linux. ChromeOS is Linux, most routers are Linux.

You are surrounded by it in your home and are mostly unaware of it. 

To make a kernel that can boot without an initrd  You need the following built in.

The code to read your partition table 

```
[*]   PC BIOS (MSDOS partition tables) support (NEW) 

[*]   EFI GUID Partition support (NEW) 
```

are good choices

The code to allow the kernel to reach your HDD

```
< > ATA/ATAPI/MFM/RLL support (DEPRECATED)  ---

<*> Serial ATA and Parallel ATA drivers (libata)  ---> 
```

That first one must be off.

On the 

```
SCSI device support  --->
```

menu you need

```
<*> SCSI disk support
```

Everything is treated as SCSI, google will give you the history lesson.

On the 

```
<*> Serial ATA and Parallel ATA drivers (libata)  --->
```

you will need the options for your hard drive controller. lspci will tell you what that is.

If you have several different hard drive controllers, build them all in.

On the 

```
File systems  --->
```

Make your root filesystem built in.

Thats the bare minimum.

It boils down to four rules of thumb.  Go through every menuconfig option reading the help.

1. if its needed to boot set it to <*>

2. if its needed after boot, set it to <*> or to <M>

3. If you want to play with it, set it to <M> 

4. If the help doesn't help, leave it alone.

Oh.  You can run several instances of Virtual Box at the some time.  Its not a good idea to allow VirtualBox (all instances together) to have all of your RAM or all of your CPU cores.

The host operating system will need to run too.   It does work. The guests are just programs that get swapped to the page file, this makes them run very slowly.

----------

## khayyam

 *ShanaXXII wrote:*   

> So he doesn't really want me to do the same thing --> He feels I'm gonna have to constantly learn more and its gonna be very hard to keep up.

 

ShanaXXII ... and your dad is basically right, but this is true of any field ... including medicine. That is somewhat besides the point however because its not simply the content of what you're learning but the way you apply yourself and all the subsidiary effects of learning (ie, the application of logic to a problem, etc). These constitute tacit knowledge and are things  you only learn via application, practice, etc. Tacit knowledge is very difficult to quantify and even more difficult to place in some schema of how it might pan out in the job market. I started with dismantling vacuum cleaners, got a PhD in philosophy, and now earn my living as an editor ... there is no real trajectory there, but I'm sure each part (or other parts omitted) adds something to the whole.

best ... khay

----------

## Arthanis

Well, I guess that it is true that in Computer Science, you have to be constantly learning and keeping up with new trends, but it is also true that if you know the basics and truly understand what you do, it is a lot easier to keep up. Most concepts in computing are still here since the 1970s, you just change their implementation.

Anyway, I don't think that virtualizing gentoo is a good way to learn, since the kernel won't have access to your hardware and will take loooong times to build stuff, it will be a drag. 

I see 2 options for you: Use another distro besides gentoo in a virtualized environment. However you won't be running the awesomeness that is gentoo, and it is by far the best distro to learn stuff about linux. Most knowledge acquired using gentoo can be used in any other distro. Gentoo introduced me to Linux and I can't tell you how many times my knowledge about gentoo solved problems in debian, ubuntu, centOS, etc.

The other (recommended) option is to buy any cheap and/or used x86/amd64 hardware to play around. I don't know where do you live, but you should be able to buy some old box from 2007 fairly cheap these days. Heck, my desktop is from 2007 and still running gentoo with a good performance (even running games on steam, like trine 2), sometimes even better than new computers with windows 8 crap. And thats the beauty of gentoo, it adapts to your requirements, not the other way around. Even if you have an old 32 bits hardware running around, you will still get acceptable performance, and most important, will be running current software and learning.

----------

## NeddySeagoon

Arthanis,

 *Arthanis wrote:*   

> Anyway, I don't think that virtualizing gentoo is a good way to learn, since the kernel won't have access to your hardware and will take loooong times to build stuff, it will be a drag. 

 

The system being virtualised can't tell.  The kernel sees the virtual hardware and the leaning is just a valid as it is on real hardware. 

Yes, there are performance impacts - The HDD is a file on another filesystem, so there are two layers of filesystem code to work through.  Sure, you can give VBox access to a partition but if that was an option, so is dual booting.

The other performance impact is when VBox has to intercept the guest kernel trying to execute priviledged instructions.

The whole idea is to have a safe sandpit to play in. Some performance sacrifice is , in my opinion, a price worth paying.

Is real seven year old hardware faster than VBox?

----------

## Arthanis

Well, I don't have the actual numbers, but I do believe that vbox emulated environment would be indeed slower than a hardware from 2007 (specially if he can get a clearance server hardware), specially if you are running it under Windows and if his hardware does not have VT-X. If you or anybody else could run benchmarks and post here, that would be great.

Beside that, I do believe that there are so many interesting things you can't do in some virtualized environments. To name a few:

- Virtualization itself (Xen, Vmware, etc). Not only that, but also a paravirtualized linux under Xen is also nice to learn

- Software Raid and different filesystems such as ZFS and BTRFS. There are some nice and useful disks and filesystems setups that are impractical under a virtualized guest

- Limited I/O and network throughput since its sharing its bandwidth with the host. Some emerges can be very I/O intensive

- bootloaders and multiboot setups

- Learning to discover and enable misc drivers while building his own kernel

- You can't know the performance gain on compiling everything from scratch, because of all the overhead virtualization introduces

- In some virtualized environments , I don't know if you can enable and test different native compilation optimization flags, due to not having access to all cpu instructions set.

- 3D accelerated desktop and gaming. Although I think its possible with some solutions, it will surely be harder to do and probably less performing.

- Disk and power management

Maybe some of the things I cited may be circumvented, but nonetheless, in my opinion it will degrade the learning experience in such a "low level" distro as gentoo. I think that Virtualization is more suited to learning thinks like userland software such as SAMBA, webservers, etc, but not so much with compilations, kernel and disk/fs management.

http://www.ebay.com/itm/Dell-PowerEdge-M600-Blade-Server-2xQuad-Core-Xeon-3-0GHz-16GB-RAM-2x73GB-SAS-/310918369614?pt=COMP_EN_Servers&hash=item48642dd14e

Just my 2 cents.

----------

## ShanaXXII

Thank you everyone! I really appreciate your support (:

----------

## NeddySeagoon

Arthanis,

I agree with much of what you say.  I don't have VBox benchmarks as I use KVM for Gentoo on Gentoo.  I do use Vbox for XP on Gentoo but thats no use for benchmarking.

The object here is low cost learning, rather than the need for speed. 

A few details

 *Arthanis wrote:*   

> - Software Raid and different filesystems such as ZFS and BTRFS. There are some nice and useful disks and filesystems setups that are impractical under a virtualized guest 

  Software raid is fine inside Vbox. It may not actually be useful, if the host only has a single hard drive but the learning experience is valid.

Indeed, if the host uses the FAT filesystem, with its 2G filesize limit, you must use linear raid to stitch 2G chunks together to install Gentoo an a larger contiguous filesystem.

Any filesystem works too. A journalled filesystem insite a file on a Journaled filesystem is always a bad idea from a speed perspective but it operates normally, at least, until something fails.   

 *Arthanis wrote:*   

> - bootloaders and multiboot setups

  work normally. You don't usually do multiboot inside VBox, you run another instance, but it works.

 *Arthanis wrote:*   

> - In some virtualized environments , I don't know if you can enable and test different native compilation optimization flags, due to not having access to all cpu instructions set.

 Virtualbox does not emulate the CPU. Your code runs natively on the CPU.  You appear to have access to the full CPU instruction set too.

The virtuliser tricks the guest when it tries to use a priviledged instruction, but the code runs unmodified as a guest.  This bit is slow but the lessons learned remain valid on real hadware.

----------

## Arthanis

 *Quote:*   

> 
> 
> Virtualbox does not emulate the CPU. Your code runs natively on the CPU. You appear to have access to the full CPU instruction set too. 
> 
> The virtuliser tricks the guest when it tries to use a priviledged instruction, but the code runs unmodified as a guest. This bit is slow but the lessons learned remain valid on real hadware.
> ...

 

Do you know if this is true even if the host processor lacks VT-x?

Anyway, what I'm trying to say is that what motivated me back then is that with gentoo you woudl get a clean and fast system. I do understand that not everybody can buy an old hardware.

I think I've come up with a solution. ShanaXXII, why don't you install gentoo on a pendrive and use it to boot your father PC? That way you would get all the benefits from a native system, without touching anything =]

----------

## ShanaXXII

[quote="Arthanis"] *Quote:*   

> 
> 
> I think I've come up with a solution. ShanaXXII, why don't you install gentoo on a pendrive and use it to boot your father PC? That way you would get all the benefits from a native system, without touching anything =]

 

It's actually my computer. He just doesn't want me 'wasting' time on it. 

Last time I did this, I use different partitions. 

And whats a pen drive?

----------

## NeddySeagoon

ShanaXXII,

A pen drive is a solid state device about the size of a pen that behaves in all respects, other than speed, as a rotating rust hard drive.

Also known as a "memory stick" .

Search "memory stick" on amazon for some examples.

Of course, it won't stop you "wasting time", however its installed.

Different partitions and dual boot is really the way to go.

----------

## ShanaXXII

I'm back. Lol. I built another Gentoo without my parents knowing   :Cool: 

anyways this is my kernel config. Please correct me too if u see any drivers that are unnecessary for my system.

```
# lspci -k

00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 12)

   Subsystem: Dell Device 0434

   Kernel driver in use: agpgart-intel

I can't find the agpart-intel driver in my config. when search it up, nothing shows.

I found /dev/agpgart (AGP Support) ---> under Device Drivers ---> Graphics support --->

and I put this       -*- Intel 440LX/BX/GX, 18xx and E7x05 chipset support

00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 12)

   Subsystem: Dell Device 0434

   Kernel driver in use: i915

Graphics.No necessary for boot

00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)

   Subsystem: Dell Device 0434

Not sure what driver it uses here

00:1a.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)

   Subsystem: Dell Device 0434

   Kernel driver in use: ehci-pci

USB. Not necessary for boot

00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)

   Subsystem: Dell Device 0434

   Kernel driver in use: snd_hda_intel

Audio. Not necessary for boot

00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)

   Kernel driver in use: pcieport

Bus options (PCI etc.) --->

     [ * ] PCI support

          [ * ] Support mmconfig  PCI config  space access

          [ * ] PCI Express Port Bus support (This is the kernel driver used)

               [ * ] Root Port Advanced Error Reporting support

               -*- PCI Express ASPM control

          [ * ] Message Signaled Interrupts (MSI and MSI-X)

          [ * ] Interupts on hypertransport devices

     [ * ] PCI IO-APIC hotplug support

00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)

   Kernel driver in use: pcieport

Shown Above

00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)

   Kernel driver in use: pcieport

Shown Above

00:1d.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)

   Subsystem: Dell Device 0434

   Kernel driver in use: ehci-pci

USB. Not Necessary for boot

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)

lspci -k did not mention anything about this :/

00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)

   Subsystem: Dell Device 0434

Not sure what I'm suppose to do here

00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 06)

   Subsystem: Dell Device 0434

   Kernel driver in use: ahci

Device Drivers --->

     <*> Serial ATA and Parallel ATA drivers --->

          [ * ] Verbose ATA error reporting

          [ * ] ATA ACPI Support ( I think this is the driver being used)

          *** Controllers with non-SFF native interface ***

          <*> AHCI SATA support

          <*> Platform AHCI SATA support

          [ * ] ATA SFF support (for legacy IDE and PATA)

          *** SFF controllers with custom DMA interface ***

          [ * ] ATA BMDMA support

          *** SATA SFF controllers with BMDMA ***

          <*> Intel ESB, iCH, PIIX3, PIIX4, PATA/SATA support

          <*> Intel PATA old PIIX support

          *** PIO-only SFF controllers ***

          <*> Intel PATA MPIIX support

          *** Generic fallback / legacy drivers ***

          <M> ACPI firmware driver for PATA

00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)

   Subsystem: Dell Device 0434

   Kernel modules: i2c_i801

Device Drivers --->

     -*- I2C support -->

          [ * ] Enable compatibility bits for old user-space

          <M> I2C device interface

          [ * ] Autoselect pertinent helper modules

               I2C Hardware Bus support --->

                    <M> Intel 82801 (ICH/PCH) ( I think this is the driver used)

                    <M> Intel SCH SMBus Controller

                    <   > Intel iSMT SMBus Controller

                    <M> Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)

                    *** ACPI drivers ***

                    <M> SMBus Control Method Interface

00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)

   Subsystem: Dell Device 0434

not sure what to do

03:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)

   Subsystem: Dell Wireless 1397 WLAN Mini-Card

   Kernel driver in use: b43-pci-bridge

   Kernel modules: ssb, wl

Wireless connection. Not necessary for boot

04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)

   Subsystem: Dell Device 0434

   Kernel driver in use: r8169

   Kernel modules: r8169

Ethernet. Not necessary for boot

ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02)

   Subsystem: Intel Corporation Device 8086

ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02)

   Subsystem: Intel Corporation Device 8086

ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02)

   Subsystem: Intel Corporation Device 8086

ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02)

   Subsystem: Intel Corporation Device 8086

ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02)

   Subsystem: Intel Corporation Device 8086

ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02)

   Subsystem: Intel Corporation Device 8086

Not sure for all of the above

```

----------

## NeddySeagoon

ShanaXXII,

Nothing is as simple as it seems.

The easy one first. 

```
 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)

lspci -k did not mention anything about this :/ 
```

This device provides the connection between the CPU and your PCI buses.

Its set up by the BIOS. The kernel may tinker with it too. No driver is required.  

```
USB. Not Necessary for boot
```

 Hmm.  If you have a USB keyboard, you need this to work to be able to log in, but I suppose boot is complete by that time.

```
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)

   Subsystem: Dell Device 0434 
```

Don't do anything.  You may have a few sensors here. This is a gateway to the remains of the Industry Standard Architecture (ISA) Bus.

It was made obsolete by PCI which in turn was made obsolete by PCIe.  It goes back to tho original IBM RC.

```
Device Drivers --->

     <*> Serial ATA and Parallel ATA drivers ---> 
```

None of 

```
          [ * ] ATA SFF support (for legacy IDE and PATA)

          *** SFF controllers with custom DMA interface ***

          [ * ] ATA BMDMA support

          *** SATA SFF controllers with BMDMA ***

          <*> Intel ESB, iCH, PIIX3, PIIX4, PATA/SATA support

          <*> Intel PATA old PIIX support

          *** PIO-only SFF controllers ***

          <*> Intel PATA MPIIX support

          *** Generic fallback / legacy drivers ***

          <M> ACPI firmware driver for PATA 
```

are required. You may not need 

```
  <*> Platform AHCI SATA support 
```

 either.

In general, things with Debug or Verbose in their names should be off, like  

```
 [ * ] Verbose ATA error reporting 
```

Its a log spammer.

That leaves the hard one.

```
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 12)

   Subsystem: Dell Device 0434

   Kernel driver in use: i915

Graphics.No necessary for boot 
```

.  There are several kernel drivers that will put text on the screen at beet time with your hardware.

The old fashioned text console. the vga, vesa, uvesa drivers and others but looking  forward none of them will work with the intel driver for Xorg.

If you never want a GUI, thats fine.

If you do, the driver is in two parts, i915 in the kernel and xf86-video-intel in Xorg.  You need both bits.

Now, the i915 kernel module gives you a console framebuffer at boot, so this is the driver you must choose to see a console before you start Xorg.

Its perfectly possible to not have any console support in the kernel at all. Then you get nothing on the screen.

----------

## ShanaXXII

Um, this is on real hardware. I created another partition

----------

## NeddySeagoon

ShanaXXII,

I can tell.  

The virtualisers all give you old hardware and in some cases a special VGA device that has no real hardware equivelent.

----------

## ShanaXXII

 *NeddySeagoon wrote:*   

> 
> 
> That leaves the hard one.
> 
> ```
> ...

 

I already have a GUI working. I compiled xorg-server with 

VIDEO_CARDS="intel i915"

and

INPUT_DEVICES="evdev synaptics"

I guess this should be a working configuration then?

----------

