imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Программы и Операционные системы > Пингвинятник (ОС *NIX)
Опции темы
Старый 12.05.2004, 21:49     # 1
ventskus
Junior Member
 
Аватар для ventskus
 
Регистрация: 07.01.2003
Адрес: Belarus
Сообщения: 120

ventskus Известность не заставит себя ждатьventskus Известность не заставит себя ждать
пересборка ядра - помогите чайнику

ASP Linux 9.0. Хочу пересобрать ядро (нужно включить поддержку usb-modem). запускаю конфигуратор, ставлю соотвтствующую галку, сохроняю .config. Запускаю make bzimage - пишет, что нет правила для выполнения. В чем проблема (маке Modules и маке выполняется - строчки бегут: видимо сборка)?
ventskus вне форума  
Старый 12.05.2004, 22:02     # 2
Pink_Punk
Banned
 
Аватар для Pink_Punk
 
Регистрация: 24.09.2002
Адрес: Samara
Сообщения: 1 182

Pink_Punk Реально крут(а)Pink_Punk Реально крут(а)Pink_Punk Реально крут(а)Pink_Punk Реально крут(а)
Если ядро родное АСП то бросай эту затею - не соберёшь,а если соберёшь то надо всё зашивать,а не модулями.
Сначала сделай make dep потом make bzImage и только потом make modules и make modules_install
Pink_Punk вне форума  
Старый 12.05.2004, 22:54     # 3
ventskus
Junior Member
 
Аватар для ventskus
 
Регистрация: 07.01.2003
Адрес: Belarus
Сообщения: 120

ventskus Известность не заставит себя ждатьventskus Известность не заставит себя ждать
make dep не делал, только make symlinks dep: проходит на ура. (в чем разница?) Эксперементировал на родном (2.4.20) и на 2.6.5 - эффект был один и тот же
ventskus вне форума  
Старый 12.05.2004, 23:05     # 4
Pink_Punk
Banned
 
Аватар для Pink_Punk
 
Регистрация: 24.09.2002
Адрес: Samara
Сообщения: 1 182

Pink_Punk Реально крут(а)Pink_Punk Реально крут(а)Pink_Punk Реально крут(а)Pink_Punk Реально крут(а)
Насколько я понимаю make symlinks dep это удовлетворении зависимостей по символьным ссылкам,а не самих кусков ядра(не знаю,как ещё сказать).
А 2.6 собирается по make, make modules,make modules_install,make install но перед эти надо скрипты поправить,как писал Beck.
Pink_Punk вне форума  
Старый 12.05.2004, 23:11     # 5
Pink_Punk
Banned
 
Аватар для Pink_Punk
 
Регистрация: 24.09.2002
Адрес: Samara
Сообщения: 1 182

Pink_Punk Реально крут(а)Pink_Punk Реально крут(а)Pink_Punk Реально крут(а)Pink_Punk Реально крут(а)
Вырезки из readme ядра:
CONFIGURING the kernel:
make menuconfig - Text based color menus, radiolists & dialogs.
or make xconfig - X windows based configuration tool.
or make oldconfig - Default all questions based on the contents of
- Finally, do a "make dep" to set up all the dependencies correctly.
COMPILING the kernel:
- Do a "make bzImage" to create a compressed kernel image.
- If you configured any of the parts of the kernel as `modules', you
will have to do "make modules" followed by "make modules_install".
- Reboot with the new kernel and enjoy.
Pink_Punk вне форума  
Старый 13.05.2004, 01:24     # 6
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
ventskus:
Запускаю make bzimage - пишет, что нет правила для выполнения.
Очень похоже что ты именно так и набирал, попоробуй make bzImage (I заглавная). Это принципиально.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 13.05.2004, 07:52     # 7
ventskus
Junior Member
 
Аватар для ventskus
 
Регистрация: 07.01.2003
Адрес: Belarus
Сообщения: 120

ventskus Известность не заставит себя ждатьventskus Известность не заставит себя ждать
всем спасибо! make dep помогло.
пробовал и bzimage и bzImage не проходило.
кстати маке проходило без проблем - но ядро не загружалось. писало: даскать "kernel is panic..." дальше не помню.
сечас ругается на дрова. сначала на /drv/net, теперь на /drv/usb. это хуже. т.к. мне принципиально именно usb - в инете я через GPRS, но линия переодически глохнет. думаю может под линуксом будет лучше?
ventskus вне форума  
Старый 13.05.2004, 11:54     # 8
Shlomo
Full Member
 
Аватар для Shlomo
 
Регистрация: 07.02.2002
Адрес: France
Пол: Male
Сообщения: 1 128

Shlomo Луч света в тёмном царствеShlomo Луч света в тёмном царствеShlomo Луч света в тёмном царствеShlomo Луч света в тёмном царствеShlomo Луч света в тёмном царстве
В Gentoo есть такая прога - genkernek, так она генерирует ядро автоматом. Может стоит скачать и попробовать, может поможет?
Shlomo вне форума  
Старый 13.05.2004, 12:11     # 9
Pink_Punk
Banned
 
Аватар для Pink_Punk
 
Регистрация: 24.09.2002
Адрес: Samara
Сообщения: 1 182

Pink_Punk Реально крут(а)Pink_Punk Реально крут(а)Pink_Punk Реально крут(а)Pink_Punk Реально крут(а)
Есть не только в Gentoo поищи прогу по названию kernel installer или такого плана,если не к спеху,то могу дать ссылку на неё.
Pink_Punk вне форума  
Старый 13.05.2004, 22:44     # 10
ventskus
Junior Member
 
Аватар для ventskus
 
Регистрация: 07.01.2003
Адрес: Belarus
Сообщения: 120

ventskus Известность не заставит себя ждатьventskus Известность не заставит себя ждать
ну если не трудно. Только вот вопрос: это хорошо или плохо? Я имею в виду автоматическую генерацию ядра.
ventskus вне форума  
Старый 13.05.2004, 22:50     # 11
Pink_Punk
Banned
 
Аватар для Pink_Punk
 
Регистрация: 24.09.2002
Адрес: Samara
Сообщения: 1 182

Pink_Punk Реально крут(а)Pink_Punk Реально крут(а)Pink_Punk Реально крут(а)Pink_Punk Реально крут(а)
Инсталятор ядра (ik (Install Kernel)) доступен на http://freshmeat.net/projects/ik и http://www.ramdown.com/war/ik.


В декабре 2000 года, после 4 лет использования Linux, я понял, что на компиляцию и установку ядер стало уходить расточительно много времени. И я решил написать свой собственный скрипт установки ядра, назвав его Install Kernel (ik), так как других скриптов на тот момент не было, а мне нужно было что-то, что устанавливало бы ядро Linux и автоматически конфигурировало загрузчик без какого-либо вмешательства пользователя. Ik взаимодействует с ОС Linux, перемещая и редактируя файлы. Без использования ik, при обновлении ядра время в основном тратится на: перемещение файлов и обновление конфигурационных фалов. Срипт ik состоит из трех основных блоков: проверка зависимостей, компиляция ядра, копирование файлов в соответствующие места и редактирования конфигурационных файлов загрузчика. Цель ik -- оказать помощь либо людям впервые устанавливающим ядро, либо тем, кто решил эффективнее использовать свое время.


Каждая операционная система имеет ядро какого-либо типа, ядро -- это "сердце" операционной системы. Текущая версия ядра Linux -- 2.4.17. Большинство пользователей либо перекомпилируют, либо просто обновляют ядра. Пользователю может потребоваться обновить используемое ядро с намерением добавить в него поддержку определенного вида устройств. Например, если появился USB (Universal Serial Bus) сканер, то можно сделать соответствующие изменения в файле конфигурации ядра, перекомпилировать и установить его. Причины для обновления ядра могут включать также улучшение подсистемы виртуальной памяти или устранение дефектов в безопасности. Примером могло бы послужить ядро Linux версии 2.4.11. Оно было уязвимо для атак типа "отказ в обслуживании". Это побудило пользователей, работающих на ядре 2.4.11, немедленно обновиться до версии 2.4.12, как только она появилась (благодаря этой уязвимости). Вот основные причины, по которым пользователю может захотеться перекомпилировать ядро своей системы или обновить его.


"Инсталятор ядра" работает с ОС Linux, запуская последовательность функций, или групп команд, которые автоматизируют процесс компиляции (перекомпиляции) и установки. Он состоит из трех групп функций: проверка зависимостей, сборка ядра и копирование файлов, редактирование конфигурационных файлов загрузчика. Благодаря разбиению функций на три группы, гораздо легче поддерживать скрипт и вносить в него изменения. "Инсталятор ядра" можно рассматривать и как программу, потому что программа делает поверки и соответственно выбирает путь выполнения. Обычно скрипт -- это файл, который содержит определенное количество команд, не имеющих внутренней логики исполнения. Таким образом, в техническом смысле ik -- это скрипт, но его можно назвать и программой.


Проверка зависимостей делается перед сборкой ядра для того, чтобы удостовериться в том, что текущая системная конфигурация не содержит внутренних противоречий. Всего выполняется семь проверок: проверка прав пользователя, наличие свободного дискового пространства, наличие правильных ссылок на файлы, проверка загрузчика, проверка конфигурации, проверка модулей. Первое -- проверка прав пользователя: является ли пользователь суперпользователем, то есть имеет ли он возможность редактировать важные системные файлы, доступные только для root-а. Проверка свободного места на диске проводится, чтобы убедиться в наличии по крайней мере 200 свободных мегабайт. На сегодняшний день только исходные тексты ядра занимают около 150 мегабайт. При компиляции ядра может потребоваться еще 50 мегабайт или более. Таким образом ik проверяет наличие 200MB свободного места на диске, чтобы при компиляции избежать риска нехватки дискового пространства. Далее, хотя это и не требуется, но по стандарту требуется символическая ссылка /usr/src/linux на /usr/src/linux-x.y.z. Четвертая проверка -- проверка наличия директории /boot, т.е. места, куда будут установлены файлы ядра Linux. Пятая проверка определяет начальный загрузчик, который будет использоваться. Для Linux существует два основных загрузчика: LILO и GRUB. Здесь определяется, было ли ядро загружено LILO либо GRAB, в зависимости от того, какой загрузчик использовался последним. Далее соотвествующим образом редактируется конфигурация выбранного загрузчика. Шестая проверка конфигурации "убеждается", что пользователь создал соответствующий файл конфигурации ядра, который будет использоваться при его сборке. Финальная проверка -- проверка модулей: если поддержка модулей отключена, то скрипт это определит и изменит процесс инсталяции для установки ядра без поддержки модулей. Главная идея, заключенная в проверке зависимостей -- убедиться в том, что пользователь не сможет навредить системе, даже если сделает что-то неправильно.


Процесс инсталяции также состоит из семи функций. Обычно он содержит всего несколько команд. Однако, из-за отличий, которые могут быть в пользовательских файлах конфигурации, каждая часть процесса сборки ядра должна быть проверена и, при необходимости, изменена. Первая функция производит проверку корректности установки зависимостей для всех файлов в директории с исходными текстами ядра. Вторая функция удаляет неактуальные объектные файлы и (или) файлы старого ядра. Следующая, третья функция - функция сборки ядра, она выполняет команды сборки ядра Linux. Далее функции четыре и пять создают и инсталируют модули в случае, если пользователь определил их поддержку в файле конфигурации ядра. Шестая функция помещает ядро Linux и его карту системных зависимостей в загрузочный раздел диска. И, наконец, последняя функция устанавливает модульные зависимости для нового ядра, если таковые опрделены. Процесс инсталяции включает также небольшую проверку ошибок для каждой части сборки ядра. Если какая-либо часть процесса завершилась неудачей, работа скрипта будет прекращена без модификации конфигурационных файлов загрузчиков. Это важно, так как если процесс не прекратить, он может изменить конфигурацию загрузчика и таким образом сделать систему "незагружаемой". Из-за широкого использования срипта важно поддерживать все конфигурации Linux.


Конфигурация начального загрузчика и процесс установки, вероятно, наиболее важная часть инсталяции нового ядра. Неверно сконфигурированный начальный загрузчик может либо вообще не загружать систему, либо не загружать ее с новым ядром. Этот этап важен и потому, что на некоторых системах установлено два или более начальных загрузчика. Для этого процесса определены четыре функции. Первая функция использует загрузчик, определенный в ходе проверки конфигурации системы. Вторая функция определяет, где находятся файлы конфигурации LILO или GRUB. Далее, в зависимости от того, какой загрузчик найден, конфигурационные файлы LILO или GRUB редактируются автоматически sed-ом. Sed -- это потоковый редактор, который может изменять файлы автоматически без вмешательства пользователя. Если бы требовалось вмешательство пользователя, то оно было бы представлено между определенными частями установки ядра. С помощь ik более эффективно используется время пользователя, так как для полной установки ядра требуется ввести только одну команду.


"Инсталятор ядра" -- полезный иснтрумент для тех, кто является новичком в Linux, кто часто пересобирает ядро или для тех кто ценит свое время. Количество команд для инсталяции ядра уменьшается с (примерно) тринадцати до одной. Новички в Linux могут найти его весьма привлекательным, поскольку вся внутренняя работа автоматизирована, а если что-то не так, то в большинстве случаев ik объявит пользователю, что именно случилось и как исправить ошибку. С другой стороны, для опытных пользователей, не желающих тратить ценное время на инсталяцию нового ядра, он также может показаться удобным. Эффективность инсталятора ядра в том, что он не требует вмешательства пользователя и уменьшает время, затрачиваемое на установку ядер, и эффективен тем, что, облегчая обновление ядра, позволяет новичкам реализовать право выбора.

Автор: (C) Justin Piszcz
Перевод: (C) Владимир Меренков
Pink_Punk вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 14:59.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.