# Kernel without initramfs: graphics messed up

## GSnake

Hello! I'm trying to build my custom kernel (already done that in Gentoo some time ago) without InitRAMFS.

I've done an "alpha" version: it actually starts but the resolution is TOTALLY messed up and a section of the screen is kinda "fuzzed". What am I doing wrong?

Thanks!

lspci -k (from default Arch Kernel):

```
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)

   Subsystem: Samsung Electronics Co Ltd Device c0d7

00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)

   Subsystem: Samsung Electronics Co Ltd Device c0d7

   Kernel driver in use: i915

   Kernel modules: i915

00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)

   Subsystem: Samsung Electronics Co Ltd Device c0d7

   Kernel driver in use: xhci_hcd

   Kernel modules: xhci_hcd

00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)

   Subsystem: Samsung Electronics Co Ltd Device c0d7

   Kernel driver in use: mei_me

   Kernel modules: mei_me

00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)

   Subsystem: Samsung Electronics Co Ltd Device c0d7

   Kernel driver in use: ehci-pci

   Kernel modules: ehci_pci

00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)

   Subsystem: Samsung Electronics Co Ltd Device c0d7

   Kernel driver in use: snd_hda_intel

   Kernel modules: snd_hda_intel

00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)

   Kernel driver in use: pcieport

   Kernel modules: shpchp

00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)

   Kernel driver in use: pcieport

   Kernel modules: shpchp

00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)

   Subsystem: Samsung Electronics Co Ltd Device c0d7

   Kernel driver in use: ehci-pci

   Kernel modules: ehci_pci

00:1f.0 ISA bridge: Intel Corporation HM76 Express Chipset LPC Controller (rev 04)

   Subsystem: Samsung Electronics Co Ltd Device c0d7

   Kernel driver in use: lpc_ich

   Kernel modules: lpc_ich

00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)

   Subsystem: Samsung Electronics Co Ltd Device c0d7

   Kernel driver in use: ahci

   Kernel modules: ahci

00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)

   Subsystem: Samsung Electronics Co Ltd Device c0d7

   Kernel modules: i2c_i801

01:00.0 Network controller: Intel Corporation Centrino Advanced-N 6235 (rev 24)

   Subsystem: Intel Corporation Centrino Advanced-N 6235 AGN

   Kernel driver in use: iwlwifi

   Kernel modules: iwlwifi

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 06)

   Subsystem: Samsung Electronics Co Ltd Device c0d7

   Kernel driver in use: r8169

   Kernel modules: r8169

```

lsmod (from Arch Kernel):

```

Module                  Size  Used by

fuse                   74541  2 

joydev                  9663  0 

btusb                  18496  0 

bluetooth             308366  2 btusb

uvcvideo               72761  0 

videobuf2_vmalloc       3272  1 uvcvideo

videobuf2_memops        2335  1 videobuf2_vmalloc

videobuf2_core         27797  1 uvcvideo

videodev              105373  2 uvcvideo,videobuf2_core

media                  10916  2 uvcvideo,videodev

intel_powerclamp        8802  0 

coretemp                6038  0 

iTCO_wdt                5407  0 

iTCO_vendor_support     1929  1 iTCO_wdt

kvm_intel             128977  0 

kvm                   376394  1 kvm_intel

samsung_laptop          8593  0 

arc4                    2000  2 

crc32_pclmul            3019  0 

crc32c_intel           14249  0 

ghash_clmulni_intel     4501  0 

cryptd                  8473  1 ghash_clmulni_intel

microcode              13172  0 

iwldvm                171906  0 

mac80211              455139  1 iwldvm

evdev                   9880  11 

iwlwifi               136611  1 iwldvm

cfg80211              406112  3 iwlwifi,mac80211,iwldvm

snd_hda_codec_hdmi     29701  1 

r8169                  57672  0 

fan                     2753  0 

thermal                 8620  0 

rfkill                 15666  5 cfg80211,samsung_laptop,bluetooth

snd_hda_codec_realtek    35645  1 

mii                     4027  1 r8169

i915                  572675  3 

snd_hda_intel          35309  3 

snd_hda_codec         147506  3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel

battery                 6925  0 

snd_hwdep               6332  1 snd_hda_codec

snd_pcm                77765  3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel

intel_agp              10872  1 i915

intel_gtt              12664  2 i915,intel_agp

snd_page_alloc          7234  2 snd_pcm,snd_hda_intel

drm_kms_helper         35438  1 i915

snd_timer              18718  1 snd_pcm

video                  11328  2 i915,samsung_laptop

wmi                     8283  0 

drm                   231168  4 i915,drm_kms_helper

mperf                   1267  0 

snd                    58950  13 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_hda_codec,snd_hda_intel

ac                      3324  0 

i2c_i801               11237  0 

soundcore               5418  1 snd

mei_me                  9688  0 

i2c_algo_bit            5391  1 i915

psmouse                85132  0 

mei                    61444  1 mei_me

i2c_core               23720  6 drm,i915,i2c_i801,drm_kms_helper,i2c_algo_bit,videodev

lpc_ich                12849  0 

button                  4669  1 i915

processor              27755  0 

serio_raw               5041  0 

pcspkr                  2027  0 

ext4                  456475  1 

crc16                   1359  2 ext4,bluetooth

mbcache                 5866  1 ext4

jbd2                   81946  1 ext4

sd_mod                 30730  3 

ahci                   22792  2 

libahci                21169  1 ahci

libata                171016  2 ahci,libahci

ehci_pci                4120  0 

ehci_hcd               47704  1 ehci_pci

xhci_hcd               89455  0 

scsi_mod              127772  2 libata,sd_mod

usbcore               177183  5 btusb,uvcvideo,ehci_hcd,ehci_pci,xhci_hcd

usb_common              1648  1 usbcore

```

Custom kernel config:

http://pastebin.com/kAqs4EW3Last edited by GSnake on Sun Sep 15, 2013 9:30 am; edited 2 times in total

----------

## eyoung100

Before you dump your  initial ram disk, read:

Initial RAM Disk HOWTO

In order to get  rid of your RAM Disk totally, you have to compile all  the appropriate hardware drivers for your system as static files, ie the * in  menuconfig

----------

## GSnake

How do I know which modules are loaded directly from my actual initramfs?

----------

## NeddySeagoon

GSnake,

You may use modules without an initrd.

The difference is that they cannot be loaded until root is mounted, which is later in the boot sequence than if you used an initrd.

This does mean that everything you need to boot as far as getting root mounted must be built into the kernel as <*>

If you choose to use one of the video drivers that needs firmware, you have two choices:-

a) build the driver and the firmware into the kernel binary

b) build the driver as a module and have the firmware loaded from /lib/firmware

The latter will start your framebuffer after root is mounted. The former, which is slightly more difficult, will start your framebuffer when the kernel initialises, which might be prettier.

----------

## GSnake

I solved my problem: the resolution messed up was caused by Plymouth at boot. Disabling it, solved the problem.

Thank you!

----------

## eyoung100

This Gentoo Document may interest you... Plymouth ‒ boot splash

----------

