Compilação do Kernel

1. Compilação do Kernel

Hugo
hugooliveira

(usa Debian)

Enviado em 02/03/2017 - 14:13h

Na instalação do Gentoo como sei o que compilar no Kernel e o que marcar como módulo?
Pelo que li no Handbook dependendo do que eu marcar como módulo o Kernel pode não iniciar ou iniciar com erro, pois determinadas funções devem ser compiladas no Kernel e não como módulos!




  


2. Re: Compilação do Kernel

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/03/2017 - 14:20h

f3vt01 escreveu:

Na instalação do Gentoo como sei o que compilar no Kernel e o que marcar como módulo?
Pelo que li no Handbook dependendo do que eu marcar como módulo o Kernel pode não iniciar ou iniciar com erro, pois determinadas funções devem ser compiladas no Kernel e não como módulos!



Se voce usa initramfs, o que acontece se voce usa genkernel a maioria pode ser modulo, voce pode usar


lspci
lspci -v


Pra ver o hardware e modulos usados


# Output exemplo do meu sistema
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (rev 09)
Subsystem: Pegatron Device 0157
Flags: bus master, fast devsel, latency 0
Capabilities: <access denied>
Kernel driver in use: ivb_uncore

00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 24
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: None
Memory behind bridge: None
Prefetchable memory behind bridge: None
Capabilities: <access denied>
Kernel driver in use: pcieport
Kernel modules: shpchp

00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])
Subsystem: Pegatron Device 0157
Flags: bus master, fast devsel, latency 0, IRQ 25
Memory at f7800000 (64-bit, non-prefetchable) [size=4M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
I/O ports at f000 [size=64]
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: i915
Kernel modules: i915

00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
Subsystem: Pegatron Device 0157
Flags: bus master, fast devsel, latency 0, IRQ 27
Memory at f7d09000 (64-bit, non-prefetchable) [size=16]
Capabilities: <access denied>
Kernel driver in use: mei_me
Kernel modules: mei_me

00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05) (prog-if 20 [EHCI])
Subsystem: Pegatron Device 0157
Flags: bus master, medium devsel, latency 0, IRQ 16
Memory at f7d07000 (32-bit, non-prefetchable) [size=1K]
Capabilities: <access denied>
Kernel driver in use: ehci-pci
Kernel modules: ehci_pci

00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
Subsystem: Pegatron Device 0157
Flags: bus master, fast devsel, latency 0, IRQ 26
Memory at f7d00000 (64-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel

00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 16
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
I/O behind bridge: None
Memory behind bridge: None
Prefetchable memory behind bridge: None
Capabilities: <access denied>
Kernel driver in use: pcieport
Kernel modules: shpchp

00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b5) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 19
Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
I/O behind bridge: 0000e000-0000efff [size=4K]
Memory behind bridge: f7c00000-f7cfffff [size=1M]
Prefetchable memory behind bridge: None
Capabilities: <access denied>
Kernel driver in use: pcieport
Kernel modules: shpchp

00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05) (prog-if 20 [EHCI])
Subsystem: Pegatron Device 0157
Flags: bus master, medium devsel, latency 0, IRQ 23
Memory at f7d06000 (32-bit, non-prefetchable) [size=1K]
Capabilities: <access denied>
Kernel driver in use: ehci-pci
Kernel modules: ehci_pci

00:1f.0 ISA bridge: Intel Corporation H61 Express Chipset Family LPC Controller (rev 05)
Subsystem: Pegatron Device 0157
Flags: bus master, medium devsel, latency 0
Capabilities: <access denied>
Kernel driver in use: lpc_ich
Kernel modules: lpc_ich

00:1f.2 IDE interface: Intel Corporation 6 Series/C200 Series Chipset Family 4 port SATA IDE Controller (rev 05) (prog-if 8f [Master SecP SecO PriP PriO])
Subsystem: Pegatron Device 0157
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 19
I/O ports at f110 [size=8]
I/O ports at f100 [size=4]
I/O ports at f0f0 [size=8]
I/O ports at f0e0 [size=4]
I/O ports at f0d0 [size=16]
I/O ports at f0c0 [size=16]
Capabilities: <access denied>
Kernel driver in use: ata_piix
Kernel modules: ata_piix, pata_acpi, ata_generic

00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
Subsystem: Pegatron Device 0157
Flags: medium devsel, IRQ 18
Memory at f7d05000 (64-bit, non-prefetchable) [size=256]
I/O ports at f040 [size=32]
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801

00:1f.5 IDE interface: Intel Corporation 6 Series/C200 Series Chipset Family 2 port SATA IDE Controller (rev 05) (prog-if 85 [Master SecO PriO])
Subsystem: Pegatron Device 0157
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 19
I/O ports at f0b0 [size=8]
I/O ports at f0a0 [size=4]
I/O ports at f090 [size=8]
I/O ports at f080 [size=4]
I/O ports at f070 [size=16]
I/O ports at f060 [size=16]
Capabilities: <access denied>
Kernel driver in use: ata_piix
Kernel modules: ata_piix, pata_acpi, ata_generic

03:00.0 Ethernet controller: Qualcomm Atheros AR8161 Gigabit Ethernet (rev 10)
Subsystem: Pegatron Device 0157
Flags: bus master, fast devsel, latency 0, IRQ 19
Memory at f7c00000 (64-bit, non-prefetchable) [size=256K]
I/O ports at e000 [size=128]
Capabilities: <access denied>
Kernel driver in use: alx
Kernel modules: alx




Tambem pode usar lsmod pra ver o nome especifico do modulo
 
lsmod
# Output exemplo
Module Size Used by
ctr 16384 2
ccm 20480 1
ext2 73728 1
arc4 16384 2
coretemp 16384 0
hwmon 16384 1 coretemp
intel_rapl 20480 0
x86_pkg_temp_thermal 16384 0
intel_powerclamp 16384 0
kvm 503808 0
irqbypass 16384 1 kvm
ath9k_htc 61440 0
ath9k_common 28672 1 ath9k_htc
ath9k_hw 417792 2 ath9k_htc,ath9k_common
crct10dif_pclmul 16384 0
ath 28672 3 ath9k_htc,ath9k_hw,ath9k_common
crc32_pclmul 16384 0
ghash_clmulni_intel 16384 0
mac80211 598016 1 ath9k_htc
cryptd 20480 1 ghash_clmulni_intel
intel_cstate 16384 0
cfg80211 512000 4 ath9k_htc,mac80211,ath,ath9k_common
intel_rapl_perf 16384 0
iTCO_wdt 16384 0
input_leds 16384 0
iTCO_vendor_support 16384 1 iTCO_wdt
joydev 20480 0
i2c_i801 28672 0
mei_me 32768 0
pcspkr 16384 0
snd_hda_codec_hdmi 45056 1
alx 40960 0
mdio 16384 1 alx
thermal 20480 0
fjes 61440 0
evdev 24576 6
snd_hda_codec_realtek 69632 1
snd_hda_codec_generic 65536 1 snd_hda_codec_realtek
mei 77824 1 mei_me
mac_hid 16384 0
battery 16384 0
snd_hda_intel 32768 4
snd_hda_codec 98304 4 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
snd_hda_core 61440 5 snd_hda_intel,snd_hda_codec,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
snd_hwdep 16384 1 snd_hda_codec
snd_pcm 90112 5 snd_hda_intel,snd_hda_codec,snd_hda_core,snd_hda_codec_hdmi
lpc_ich 24576 0
shpchp 32768 0
tpm_tis 16384 0
tpm_tis_core 20480 1 tpm_tis
tpm 36864 2 tpm_tis,tpm_tis_core
fan 16384 0
snd_seq 57344 0
snd_seq_device 16384 1 snd_seq
snd_timer 28672 3 snd_seq,snd_pcm
snd 61440 16 snd_hda_intel,snd_hwdep,snd_seq,snd_hda_codec,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_seq_device,snd_hda_codec_realtek,snd_pcm
soundcore 16384 1 snd
vhost_net 20480 0
vhost 36864 1 vhost_net
macvtap 24576 1 vhost_net
macvlan 24576 1 macvtap
uhid 20480 0
hci_vhci 16384 0
bluetooth 462848 1 hci_vhci
rfkill 20480 3 bluetooth,cfg80211
vfio_iommu_type1 24576 0
vfio 24576 1 vfio_iommu_type1
dm_mod 102400 0
uinput 20480 0
userio 16384 0
ppp_generic 32768 0
slhc 16384 1 ppp_generic
tun 32768 1 vhost_net
loop 28672 0
btrfs 1019904 0
xor 24576 1 btrfs
raid6_pq 110592 1 btrfs
cuse 16384 0
fuse 94208 1 cuse
ext4 512000 4
crc16 16384 2 bluetooth,ext4
jbd2 90112 1 ext4
mbcache 16384 2 ext4,ext2
sd_mod 45056 6
sr_mod 24576 0
cdrom 49152 1 sr_mod
usbmouse 16384 0
hid_generic 16384 0
usbkbd 16384 0
ata_generic 16384 0
usbhid 45056 0
pata_acpi 16384 0
hid 110592 3 hid_generic,usbhid,uhid
i915 1167360 9
crc32c_intel 24576 1
intel_gtt 20480 1 i915
i2c_algo_bit 16384 1 i915
ata_piix 36864 5
drm_kms_helper 118784 1 i915
libata 208896 3 ata_piix,ata_generic,pata_acpi
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
ehci_pci 16384 0
ehci_hcd 69632 1 ehci_pci
drm 299008 5 i915,drm_kms_helper
scsi_mod 155648 3 sd_mod,libata,sr_mod
usbcore 200704 6 usbmouse,ath9k_htc,usbhid,ehci_hcd,usbkbd,ehci_pci
agpgart 36864 2 intel_gtt,drm
video 36864 1 i915
button 16384 1 i915


Na compilação pode usar


# Automaticamente ative modulos que estão em uso
# Pelo que lembro sobre-escreve .config antiga
make localmodconfig


Geralmente, driver de disco, e do sistema de arquivos são necessarios.


3. Re: Compilação do Kernel

Hugo
hugooliveira

(usa Debian)

Enviado em 02/03/2017 - 14:26h

Não, eu não estou utilizando o genkernel, pois quero ganhar experiência e também deixar o sistema "de acordo com a máquina" e quanto ao
 make localmodconfig  
ele faz o trabalho que adicionar os módulos que estão em uso durante a instalação, assim eu não preciso marca-los?

$ sudo rm -rf /*



4. Re: Compilação do Kernel

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/03/2017 - 14:29h


Não, eu não estou utilizando o genkernel, pois quero ganhar experiência e também deixar o sistema "de acordo com a máquina" e quanto ao
 make localmodconfig  
ele faz o trabalho que adicionar os módulos que estão em uso durante a instalação, assim eu não preciso marca-los?


Esse é o trabalho dele mas eu recomendo verificar porque ele nunca vai ser perfeito e sempre marca um como modulo quando deveria ser construido dentro da kernel ou não marca pra compilar como modulo ou dentro.

Passar o olho com lsmod/lspci -v (ou ambos) pra checar o resultado é altamente recomendado.


5. Re: Compilação do Kernel

Hugo
hugooliveira

(usa Debian)

Enviado em 02/03/2017 - 14:44h

Quanto ao comando
 lspci -v  
tem algumas coisas sem ter módulo ou driver marcado, tais como:
 Hosts bridge: Intel Corporation 2nd Generation Core Processor Family DERAM controller
VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integratad Graphics Controller

Entre outros, não sei se estou sendo muito "noob" mas no Handbook não tem informações sobre tais coisas, e até vi alguns vídeos de compilação de Kernel, mais isso varia muito de cada sistema.
E se faltar algum módulo e ou driver, a instalação de horas pode ter sido em vão!
Em outros momentos, consegui instalar sem Kernel panic mas minha rede cabeada não foi listada, tampouco a wireless, e eu me lembro de ter marcado pelo menos a minha placa wireless na configuração, acho que setei pra compilar no Kernel e não como módulo, não sei se está correto mas no comando
 lspci  
é listado tanto como módulo como também driver!

$ sudo rm -rf /*



6. Re: Compilação do Kernel

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/03/2017 - 14:49h


E se faltar algum módulo e ou driver, a instalação de horas pode ter sido em vão!


Só repetir o processo de chroot pra entrar denovo no sistema e compilar denovo a partir de um livecd. eu realmente tenho um sistema instalado em uma partição pequena com um browser com youtube e um script de chroot, só entro, dou chroot, conserto o que deu de errado enquanto vejo coisas no youtube


Em outros momentos, consegui instalar sem Kernel panic mas minha rede cabeada não foi listada, tampouco a wireless, e eu me lembro de ter marcado pelo menos a minha placa wireless na configuração, acho que setei pra compilar no Kernel e não como módulo, não sei se está correto mas no comando
 lspci  
é listado tanto como módulo como também driver!


Se esta referindo a


# Kernel driver in use é o modulo que esta carregado e esta sendo usado
# Kernel modules são os modulos da kernel que podem prover a função necessaria pro hardware
# Se não existisse o ata_piix no meu sistema, ele iria usar o proximo
Kernel driver in use: ata_piix
Kernel modules: ata_piix, pata_acpi, ata_generic




7. Re: Compilação do Kernel

Hugo
hugooliveira

(usa Debian)

Enviado em 02/03/2017 - 15:00h

Então deixa eu ver se entendi, devo marcar as opções do
 lspci -v  
como módulos?
E o sistema irá detectar qual será usado como driver para determinado hardware?

E devo apenas compilar no Kernel as funções do sistema tais como: sistemas de arquivos, entre outros..?

$ sudo rm -rf /*



8. Re: Compilação do Kernel

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/03/2017 - 15:03h

f3vt01 escreveu:

Então deixa eu ver se entendi, devo marcar as opções do
 lspci -v  
como módulos?
E o sistema irá detectar qual será usado como driver para determinado hardware?


Não, o lscpi -v mostra qual os modulos estão sendo usados pelo hardware, é preferivel, já que voce vai compilar a sua propia kernel, compilar eles dentro da kernel, o sistema não gasta tempo carregando modulos e permite que voce não tenha que usar initramfs.


E devo apenas compilar no Kernel as funções do sistema tais como: sistemas de arquivos, entre outros..?


Não, voce pode compilar eles como modulos se voce usar initramfs (como voce esta compilando por si mesmo vou assumir que não quer) mas o sistema não vai bootar.


9. Re: Compilação do Kernel

Hugo
hugooliveira

(usa Debian)

Enviado em 02/03/2017 - 15:13h

Obrigado por esclarecer minhas dúvidas, tentarei configurar!

Ps: Na hora de finalizar, o que seria recomendado eu instalar, pra na hora do "reboot" o sistema já subir pronto pra fazer configurações de internet com e sem fio (tipo wpa_supplicant, networkmanager...), teclado abnt2, e instalação de um wm?

$ sudo rm -rf /*



10. Re: Compilação do Kernel

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/03/2017 - 15:57h


Ps: Na hora de finalizar, o que seria recomendado eu instalar, pra na hora do "reboot" o sistema já subir pronto pra fazer configurações de internet com e sem fio (tipo wpa_supplicant, networkmanager...), teclado abnt2, e instalação de um wm?


Siga o handbook ele recomenda algumas coisas, eu realmente instalo tudo que preciso porque já sei o que vou precisar.

linux-firmware, dhcpcd, wpa_supplicant,etc


11. Re: Compilação do Kernel

José da Silva
zenull

(usa Outra)

Enviado em 02/03/2017 - 16:33h

Também é útil fazer uma busca no wiki.gentoo.org há referências claras sobre o que não pode deixar de ser compilado em correspondência com o que vai usar no seu sistema.

E não entendi porque não usa o genkernel, mas cada um na sua.


12. Re: Compilação do Kernel

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/03/2017 - 16:37h


Também é útil fazer uma busca no wiki.gentoo.org há referências claras sobre o que não pode deixar de ser compilado em correspondência com o que vai usar no seu sistema.


Sim, esqueci de mencionar isso, wiki no gentoo mostra o que compilar, vlw por lembrar.

https://wiki.gentoo.org/wiki/Kernel
https://wiki.gentoo.org/wiki/Xorg/Guide
https://wiki.gentoo.org/wiki/USB/Guide
https://wiki.gentoo.org/wiki/ALSA
https://wiki.gentoo.org/wiki/Intel_microcode


E não entendi porque não usa o genkernel, mas cada um na sua.


Nunca procurei razão pra usar, eu sempre achei mais simples só compilar e usar make install quando eu usava com glibc, e genkernel-next falha compilação e genkernel falha em algum lugar.




01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts