Сборка ядра

ну по моему все очень просто все тоже самое,просто файловую систему корневую и драйвера необходимые для запуска ядра вкомпиливаешь в него и все.Тобишь контроллер SATA например ata_piix и подобные нужные.весит ядро мое 1.5 мб.Ну и модулями вынесен ALSA,XFS(/home),fat,udf,smb,usb.Правда из него выкинуто очень многое но так как я не пользуюсь этими возможностями-выкинул.даже в Network выкинул все почти кроме DHCP так как у меня роутер.приатачу конфиг свой,поковыряй переделай под свое железо,можт понравится.Вобщем приатачить по неизвестным причинам конфиг я не смог,в личке тож не отправляется а в виде кода постить как то неохота(полкилометра).пиши в личку могу скинуть на почту,ну или если модеры не заругаюццо то в виде code выложу
kernel_panic
ну по моему все очень просто все тоже самое,просто файловую систему корневую и драйвера необходимые для запуска ядра вкомпиливаешь в него и все.Тобишь контроллер SATA например ata_piix и подобные нужные.весит ядро мое 1.5 мб.Ну и модулями вынесен ALSA,XFS(/home),fat,udf,smb,usb.Правда из него выкинуто очень многое но так как я не пользуюсь этими возможностями-выкинул.даже в Network выкинул все почти кроме DHCP так как у меня роутер.приатачу конфиг свой,поковыряй переделай под свое железо,можт понравится.
Спасибо конечно, это не совсем то что я хотел получить. Конфиг я и сам настрою, мне нужно знать что именно наcтраивать и как. :) Ну и самое главное как им пользоваться - в чем отличия от ядра c initrd?
http://www.opennet.ru/base/sys/initrd_intro.txt.html
Собираешь без поддержки Initial RAM filesystem and RAM disk и RAM block device support .Его просто не будет….. Все нужное для загрузки должно быть в ядре.Не буду говорить про плюсы и минусы…..просто я так для себя захотел
пасиба всем ^^
Nebulosa: Вопщем то всё сделал до шага 6 включительно(PKGBUILD изменил), а дальше есть кое какие непонятки..
После этого сохраняем в удобное место файл .config

7. Прибираемся: новый .config записываем поверх стандартного. В файле PKGBUILD возвращаем все на место, и добавляем новый md5-хэш нашего нового файла .config вместо стандартного. Удаляем подпапку srс.
у меня лично там нет файла .config зато есть config и в 2-х папках..какой из них? проц на 1 ядре..
где находиться стандартный конфиг? и какой смысл менять что то было до этого в файле PKGBUILD если я его никак не использовал после редактирования и теперь нужно всё вернуть на место? я абсолютный новичок я даже не знаю как сделать md5 хэш файла.. папку src надо удалить вот эту /var/abs/local/kernel26-firmware/src/ ?

/var/abs/local/kernel26-firmware/config
/var/abs/local/kernel26-firmware/config.x86_64
/var/abs/local/kernel26-firmware/src/config
/var/abs/local/kernel26-firmware/src/config.x86_64
fragnat
Nebulosa: Вопщем то всё сделал до шага 6 включительно(PKGBUILD изменил), а дальше есть кое какие непонятки..
у меня лично там нет файла .config зато есть config и в 2-х папках..какой из них? проц на 1 ядре..
где находиться стандартный конфиг? и какой смысл менять что то было до этого в файле PKGBUILD если я его никак не использовал после редактирования и теперь нужно всё вернуть на место? я абсолютный новичок я даже не знаю как сделать md5 хэш файла.. папку src надо удалить вот эту /var/abs/local/kernel26-firmware/src/ ?
/var/abs/local/kernel26-firmware/config
/var/abs/local/kernel26-firmware/config.x86_64
/var/abs/local/kernel26-firmware/src/config
/var/abs/local/kernel26-firmware/src/config.x86_64

Эм.. в папке сборки firmware не нужно особо ничего делать.. просто makepkg -ifc..

Да, вы правы, там не .config а config. Поясню этот шаг еще раз - после того как вы сконфигурировали опции ядра через gconfig вам нужно сохранить результаты настройки в любое удобное место, например в config в домашнюю папку, а затем, после удаления /var/abs/local/kernel26/src запишите поверх /var/abs/local/kernel26/config сохраненный файл. Дальше надо будет поправить md5sum в PKGBUILD.

md5 расчитвается так - md5sum PKGBUILD ;D
Да но я нечего не конфигурировал..
Я так понимаю теперь надо после редактирования PKGBUILD в папке /var/abs/local/kernel26/ прописать makepkg -ifc?
у вас это упущено, на всякий случай спрашиваю :)
Попробовал…ругаеться на PKGBUILD
kernel26]$ makepkg -ifc
==> Сборка пакета: kernel26 2.6.29.4-1 i686 (Срд Июн  3 18:35:32 OMSST 2009)
==> Проверяю необходимые для запуска зависимости...
==> Проверяю необходимые для сборки зависимости...
==> Получение исходных файлов...
  -> Обнаружен linux-2.6.29.tar.bz2 в директории сборки
  -> Обнаружен patch-2.6.29.4-1-ARCH.bz2 в директории сборки
  -> Обнаружен config в директории сборки
  -> Обнаружен config.x86_64 в директории сборки
  -> Обнаружен kernel26.preset в директории сборки
==> Проверка исходных файлов с помощью md5sums...
    linux-2.6.29.tar.bz2 ... Завершено
    patch-2.6.29.4-1-ARCH.bz2 ... Завершено
    config ... Завершено
    config.x86_64 ... Завершено
    kernel26.preset ... Завершено
==> Распаковка исходных файлов...
  -> bsdtar -x -f linux-2.6.29.tar.bz2
  -> bunzip2 -f patch-2.6.29.4-1-ARCH.bz2
==> Удаляю существующую директорию pkg/ ...
==> Вхожу в fakeroot окружение...
==> Запускается build()...
PKGBUILD: line 46: patch: команда не найдена
==> ОШИбКА: Сборка завершилась неудачно.
    Преждевременный выход...
PKGBUILD
build() {
  KARCH=x86
  cd ${srcdir}/linux-$_basekernel
  # Add -ARCH patches
  # See http://projects.archlinux.org/git/?p=linux-2.6-ARCH.git;a=summary
  patch -Np1 -i ${srcdir}/${_patchname} || return 1                 - это 47 строчка интересно почему ему думаеться что это 46
  if [ "$CARCH" = "x86_64" ]; then
    cat ../config.x86_64 >./.config
  else
    cat ../config >./.config
  fi
  if [ "${_kernelname}" != "" ]; then
    sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" $
  fi

Поставил программу под название Patch, всё оживилось..
pacman -Sy base-devel - чтоб больше ошибок не выдавало.
А вобще я с неделю гоняю разные сборки ядер и rt и самосборное, и вобщем дефолтное ведро арча ведет себя лучше всего) поэтому не советую замарачиваться со самосбором. Хотя такую картину я наблюдаю на x86_64 архитектуре арча, на 686 сидел на самосборе, т.к. дефолтное ему уступало в производительности, а вот на x86_64 заметил обратную картину…
vit.ok
на 686 сидел на самосборе, т.к. дефолтное ему уступало в производительности

А в чём заключалась оптимизация?
Разберемся, голубчик!
 
Зарегистрироваться или войдите чтобы оставить сообщение.