# kernel sources sehr groß, aber warum [solved]

## tazinblack

Hallo zusammen,

ich wundere mich gerade warum auf einer meiner Kisten die Platte so voll ist.

Was mir auffällt:

```
groß: 

du -hs /usr/src

11G     /usr/src

du -hs /usr/src/*

4,0K    /usr/src/linux

5,1G    /usr/src/linux-4.1.15-gentoo-r1

5,9G    /usr/src/linux-4.9.6-gentoo-r1

ls -l /usr/src/

insgesamt 4

lrwxrwxrwx 1 root root   21 16. Feb 13:58 linux -> linux-4.9.6-gentoo-r1

drwxr-xr-x 1 root root  940 14. Apr 2016  linux-4.1.15-gentoo-r1

drwxr-xr-x 1 root root 1024 16. Feb 14:19 linux-4.9.6-gentoo-r1
```

Auf einer anderen dagegen sieht das so aus:

```
klein: 

du -hs /usr/src/

4,2G    /usr/src/

du -hs /usr/src/*

4,0K    /usr/src/linux

1,2G    /usr/src/linux-4.1.15-gentoo-r1

1,2G    /usr/src/linux-4.4.26-gentoo

697M    /usr/src/linux-4.4.39-gentoo

1,2G    /usr/src/linux-4.4.6-gentoo

ls -l /usr/src/

insgesamt 4

lrwxrwxrwx 1 root root  22 22. Dez 08:38 linux -> linux-4.1.15-gentoo-r1

drwxr-xr-x 1 root root 826 18. Mai 2016  linux-4.1.15-gentoo-r1

drwxr-xr-x 1 root root 880 22. Dez 08:05 linux-4.4.26-gentoo

drwxr-xr-x 1 root root 458 24. Jan 17:00 linux-4.4.39-gentoo

drwxr-xr-x 1 root root 880 23. Mai 2016  linux-4.4.6-gentoo
```

Also betrachtet man nur die Kernelsourcen in Version 4.1.15-gentoo-r1 sind diese einmal 1,2 GB und einmal 5,1!!! GB groß.

Die Frage ist, woher kommt der Unterschied. 

Es ist beides Mal btrfs im Einsatz.

```
groß : /dev/sda3 on / type btrfs (rw,noatime,space_cache,subvolid=5,subvol=/)

klein: /dev/sda3 on / type btrfs (rw,noatime,ssd,discard,space_cache)
```

Ok, bei groß handelt es sich um eine VM (vmware) mit ner virtuellen Platte in einer VMDK und bei klein um eine physikalische SSD.

Subvols und snapshots habe ich eigentlich auch keine in Verwendung und auch keine gefunden.

Aber spanisch kommt mir das schon vor   :Confused: 

----------

## franzf

Sind denn die .configs identisch? Ich denke nicht  :Wink: 

Spontan würde ich sagen, dass da vllt. die ein oder andere debug-Option gesetzt ist...

----------

## tazinblack

Und Du meinst, dass das fast Faktor 5 ausmacht?

----------

## tazinblack

Hier der Unterschied bzgl. allen "debug"s die gesetzt sind:

```
groß:

grep -i debug kernel-config-x86_64-4.1.15-gentoo-r1 | grep -v "is not set"

CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y

CONFIG_HAVE_DMA_API_DEBUG=y

CONFIG_X86_DEBUGCTLMSR=y

CONFIG_ACPI_APEI_ERST_DEBUG=m

CONFIG_CB710_DEBUG_ASSUMPTIONS=y

CONFIG_AIC7XXX_DEBUG_MASK=0

CONFIG_AIC79XX_DEBUG_MASK=0

CONFIG_SCSI_DEBUG=m

CONFIG_DM_DEBUG=y

CONFIG_NOUVEAU_DEBUG=5

CONFIG_NOUVEAU_DEBUG_DEFAULT=3

CONFIG_USB_SERIAL_DEBUG=m

CONFIG_JFFS2_FS_DEBUG=0

CONFIG_CIFS_DEBUG=y

CONFIG_DLM_DEBUG=y

CONFIG_DYNAMIC_DEBUG=y

CONFIG_DEBUG_INFO=y

CONFIG_DEBUG_INFO_DWARF4=y

CONFIG_DEBUG_FS=y

CONFIG_DEBUG_SECTION_MISMATCH=y

CONFIG_DEBUG_KERNEL=y

# Memory Debugging

CONFIG_HAVE_DEBUG_KMEMLEAK=y

CONFIG_DEBUG_MEMORY_INIT=y

CONFIG_HAVE_DEBUG_STACKOVERFLOW=y

CONFIG_DEBUG_SHIRQ=y

# Debug Lockups and Hangs

CONFIG_SCHED_DEBUG=y

# Lock Debugging (spinlocks, mutexes, etc...)

CONFIG_DEBUG_BUGVERBOSE=y

CONFIG_DEBUG_LIST=y

# RCU Debugging

CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y

CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y

CONFIG_DEBUG_RODATA=y

CONFIG_DEBUG_RODATA_TEST=y

CONFIG_DEBUG_SET_MODULE_RONX=y

CONFIG_DEBUG_NX_TEST=m

CONFIG_DEBUG_BOOT_PARAMS=y
```

```
klein:

grep -i debug kernel-config-x86_64-4.1.15-gentoo-r1 | grep -v "is not set" 

CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y

CONFIG_HAVE_DMA_API_DEBUG=y

CONFIG_X86_DEBUGCTLMSR=y

CONFIG_BT_DEBUGFS=y

CONFIG_PNP_DEBUG_MESSAGES=y

CONFIG_B43LEGACY_DEBUG=y

# Debugging Options

# iwl3945 / iwl4965 Debugging Options

CONFIG_OCFS2_DEBUG_MASKLOG=y

CONFIG_CIFS_DEBUG=y

CONFIG_DEBUG_FS=y

CONFIG_DEBUG_KERNEL=y

# Memory Debugging

CONFIG_HAVE_DEBUG_KMEMLEAK=y

CONFIG_DEBUG_MEMORY_INIT=y

CONFIG_HAVE_DEBUG_STACKOVERFLOW=y

# Debug Lockups and Hangs

# Lock Debugging (spinlocks, mutexes, etc...)

CONFIG_DEBUG_MUTEXES=y

CONFIG_DEBUG_BUGVERBOSE=y

# RCU Debugging

CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
```

----------

## franzf

 *tazinblack wrote:*   

> Und Du meinst, dass das fast Faktor 5 ausmacht?

 

Ja. Schau mal an, wie groß das libreoffice-bin-Paket ist und vergleich das mit libreoffice-bin-debug. Wobei das debug-Paket NUR die debug-infos der binaries installiert, das normale Paket neben den Binaries zusätzlichen Balast mitschleppt.

Und dein config-Vergleich zeigt jetzt auch: Der Platzverbraucher ist mit CONFIG_DEBUG_INFO gebaut, das bedeutet: Compile the kernel with debug info

Und der Hilfe-Text:

 *Quote:*   

> If you say Y here the resulting kernel image will include
> 
>  debugging info resulting in a larger kernel image.
> 
> This adds debug symbols to the kernel and modules (gcc -g), and 
> ...

 

----------

## tazinblack

Hey, Du hast recht!

Hab den Kernel neu gebaut ohne CONFIG_DEBUG_INFO und jetzt braucht der Sourceordner nur noch 1,5 GB.

Keine Ahnung was mich da geritten hat das an zu machen. Vermutlich aus Versehen.

Und ich bin wieder einmal begeistert, was hier für kompetente Leute im Forum verfügbar sind.

Vielen Dank!   :Wink: 

----------

## franzf

 *tazinblack wrote:*   

> Hey, Du hast recht!
> 
> Hab den Kernel neu gebaut ohne CONFIG_DEBUG_INFO und jetzt braucht der Sourceordner nur noch 1,5 GB.
> 
> Keine Ahnung was mich da geritten hat das an zu machen. Vermutlich aus Versehen.
> ...

 

Bitte schön, und danke für die Blumen  :Smile:  Wobei ich meine "Kompetenz" eher als gutes Raten bezeichnet hätte  :Wink:  Gibt sicher genügend andere mögliche Ursachen, von denen ich absolut keine Ahnung habe...

----------

