URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4266
[ Назад ]

Исходное сообщение
"ядро-гигант в Fedora Core 3 (2.6.9)"

Отправлено StatusQuo , 15-Май-05 14:16 
Друзья! почему если скомпилировать ядро на вышеозначенной системе, то получается файл vmlinux размером более 26 МБ!!! Я просто в растерянности... с чего вдруг он такой здоровый?

Содержание

Сообщения в этом обсуждении
"ядро-гигант в Fedora Core 3 (2.6.9)"
Отправлено MaximKuznetsov , 15-Май-05 14:30 
>Друзья! почему если скомпилировать ядро на вышеозначенной системе, то получается файл vmlinux
>размером более 26 МБ!!! Я просто в растерянности... с чего вдруг
>он такой здоровый?

надо было
make bzimage;
вы очевидно, получили несжатый образ ядра


"ядро-гигант в Fedora Core 3 (2.6.9)"
Отправлено XMan , 15-Май-05 18:39 
Вообще-то сжатый обычно зовется не vmlinux, а vmlinuz :)

"ядро-гигант в Fedora Core 3 (2.6.9)"
Отправлено StatusQuo , 15-Май-05 19:06 
Я следовал рекомендациям в файле РЕАДМЕ, заупстив одну лишь команду make. Конечно попробую стандартный путь через make dep bzImage modules etc etc etc Только вот остаётся вопрос, отчего такая ерунда допускается.

"ядро-гигант в Fedora Core 3 (2.6.9)"
Отправлено XMan , 16-Май-05 15:55 
Насколько я помню, там, где ты нашел vmlinux, есть каталог archive или как-то так. В нем лежит vmlinuz, полученный путем сжатия vmliinux :)

"ядро-гигант в Fedora Core 3 (2.6.9)"
Отправлено StatusQuo , 17-Май-05 11:39 
>Насколько я помню, там, где ты нашел vmlinux, есть каталог archive или
>как-то так. В нем лежит vmlinuz, полученный путем сжатия vmliinux :)
>
Это файл arch/i386/bzImage. На ядре 2.4.х файл vmlinux у меня выходил в 10 раз меньше - 2 с лишним МБ. Обычный несжатый ЕЛФ бинарник. Чего он так разросся в 2.6.9???

"ядро-гигант в Fedora Core 3 (2.6.9)"
Отправлено MaximKuznetsov , 18-Май-05 00:25 
>>Насколько я помню, там, где ты нашел vmlinux, есть каталог archive или
>>как-то так. В нем лежит vmlinuz, полученный путем сжатия vmliinux :)
>>
>Это файл arch/i386/bzImage. На ядре 2.4.х файл vmlinux у меня выходил в
>10 раз меньше - 2 с лишним МБ. Обычный несжатый ЕЛФ
>бинарник. Чего он так разросся в 2.6.9???

ты же сам себе ответил...- обычный несжатый бинарник..
пояснение на пальцах - в С : int arr[65535]; в elf`е отнюдь не занимает 256K, там просто содержится инструкция, что при загрузке на исполнение надо зарезервировать еще 4*64К в сегменте данных для arr. с ядром подругому, там загрузчик очень простой, поэтому все что возможно делается на этапе компиляции, и ваша программа 'потяжелеет' на это 256K. Собственно сей факт - то есть наличие больших неинициализованных, точнее инициализованных константами, таблиц (читай массивов/областей памяти) делает ядро таким большим и таким 'жмущимся' - нормальный elf, то есть бинарник, не жмется ни одним пакером даже в 2 раза.. (иначе разработчикам процессора надо было бы делать операцию a-la хороший танцор)


"ядро-гигант в Fedora Core 3 (2.6.9)"
Отправлено MaximKuznetsov , 18-Май-05 00:40 
>>>Насколько я помню, там, где ты нашел vmlinux, есть каталог archive или
>>>как-то так. В нем лежит vmlinuz, полученный путем сжатия vmliinux :)
>>>
>>Это файл arch/i386/bzImage. На ядре 2.4.х файл vmlinux у меня выходил в
>>10 раз меньше - 2 с лишним МБ. Обычный несжатый ЕЛФ
>>бинарник. Чего он так разросся в 2.6.9???
>
>ты же сам себе ответил...- обычный несжатый бинарник..
>пояснение на пальцах - в С : int arr[65535]; в elf`е отнюдь
>не занимает 256K, там просто содержится инструкция, что при загрузке на
>исполнение надо зарезервировать еще 4*64К в сегменте данных для arr. с
>ядром подругому, там загрузчик очень простой, поэтому все что возможно делается
>на этапе компиляции, и ваша программа 'потяжелеет' на это 256K. Собственно
>сей факт - то есть наличие больших неинициализованных, точнее инициализованных константами,
>таблиц (читай массивов/областей памяти) делает ядро таким большим и таким 'жмущимся'
>- нормальный elf, то есть бинарник, не жмется ни одним пакером
>даже в 2 раза.. (иначе разработчикам процессора надо было бы делать
>операцию a-la хороший танцор)

опечатался ;( прошу читать char arr вместо int arr - sorry, ночь..


"ядро-гигант в Fedora Core 3 (2.6.9)"
Отправлено StatusQuo , 19-Май-05 21:25 
>ты же сам себе ответил...- обычный несжатый бинарник..

Спасибо за пояснение, я конечно кое-что вставил от себя в ядро, но не настолько много, чтобы это увеличило его больше чем на 20 МБ. И всё-таки никто ещё не ответил на мой вопрос: почему то же самое на ядре 2.4.х даёт ядро vmlinux ок. 3 МБ, а в 2.6.х - 25-26 МБ?


"ядро-гигант в Fedora Core 3 (2.6.9)"
Отправлено ram_scan , 24-Май-05 14:55 
>Спасибо за пояснение, я конечно кое-что вставил от себя в ядро, но
>не настолько много, чтобы это увеличило его больше чем на 20
>МБ. И всё-таки никто ещё не ответил на мой вопрос: почему
>то же самое на ядре 2.4.х даёт ядро vmlinux ок. 3
>МБ, а в 2.6.х - 25-26 МБ?

Собрал ядро потому-что через одно место, через которое все дерается в России (кроме клизмы). 2.6.11 ядро весит откомпиленое 2.5 метра (это статикой собраное полностью, а если бы я модули заюзаные в нем наружу вытащил то килобайт до 900 бы утопталось). Ядра 2.6.5, 2.6.9 и 2.6.10 отличаются незначительно, плюс-минус десяток килобайт.