Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Хакнутые ядра

Ответить
Настройки темы
Хакнутые ядра

Старожил


Сообщения: 481
Благодарности: 8

Профиль | Отправить PM | Цитировать


Господа линиксоиды, не подскажите где можно скачать хакнутые ядра?

Отправлено: 02:33, 07-02-2006

 

Аватара для Duddits

Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Что ты под этим имеешь в виду?
Что значит хакнутые?
Они и так открыты, это тебе не винда.
Код у тебя есть,делай с ним что хочешь

-------
Если вам советуют использовать v.begin() вместо &v[0] - меняйте круг общения!


Отправлено: 09:31, 07-02-2006 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 101
Благодарности: 1

Профиль | Отправить PM | Цитировать


kernel.org -- официальные ванильные ядра. и никакие они не хакнутые. можт патченые?

-------
Suum cuique


Отправлено: 13:45, 07-02-2006 | #3


Старожил


Сообщения: 481
Благодарности: 8

Профиль | Отправить PM | Цитировать


Я предпологал, что не получу адекватного ответа на свой вопрос. Но коли так и случилось, то сейчас изложу всё подробно. Готов предположить что профессиональным пользователям LINUX, мои слова могут показаться полной бредятиной, но разобраться всё-таки хочется.
Я прочитал несколько бумажных и электронных книг, журнальных статей, HOWTO и miniHOWTO, но вопросы всё равно остались. Главной вопрос, можно ли привести систему к привычной виндовой структуре или нельзя?
Основные вопросы, которые у меня имеются - это вопросы по содержанию таких документов, как "Lilo-miniHOWTO", "From Powerup To Bash Prompt-HOWTO", "Kernel-HOWTO", "PATH-HOWTO". Чтобы разобраться правильно ли я всё понял, я сейчас изложу некоторые моменты из содержания этих документов, а вы скажите правильно ли я всё понял или нет:
Ядро LINUX - это первое что загружается сразу после загрузки LILO. Ядро представляет собой файл с именем vmlinuz, vmlinux, zimage или любым другим. В процессе загрузки ядро отвечает за все те надписи которые пробегают на экране (в этот момент происходит загрузка и включение всех модулей ядра); после загрузки ядро занимается тем, что взаимодействует между процессами системы и оборудованием компьютера. Ядро загружается с помощью программы LILO, располагающейся в первых секторах загрузочного диска, LILO сообщает ядру несколько входных параметров, важнейшим из которых является местоположение корневой файловой системы. После загрузки ядро монтирует корневую файловую систему и ищет в ней программу /sbin/init, которая является процессом с наивысшим приорететом и служит для запуска других процессов. Основным конфигурационным файлом для программы init является файл /etc/inittab, в котором и указаны местоположения всех остальных файлов инификации и дочерних процессов. В отличии от системм класса DOS/WINDOWS, в LINUX ядро не поставляется в дистрибутиве как есть, а должно быть собрано (скомпилированно) администратором из исходников. При установке системы компиляцию производит программа установки, при обновлении ядра компиляцию следует производить вручную с помочью команды make.
Ну а теперь вопросы: Как настраивать ядро? В "Kernel-HOWTO" сказано что настройка ядра осуществляется в процессе компиляции с помощью команд "make config", "make menuconfig" и "make xconfig" и что единственное что можно настроить этими способами - это наличие в ядре тех или иных модулей или установка поддержки тех или иных опций. Как я понимаю тут речь идёт только о тех модулях, которые входят в состав исходников и не каких иначе. А если я допустим хочу внедрить в ядро модуль, написанный каким-нибудь програмистом Васей, то как мне быть? Существуют ли утилиты для более тонкого твикинга настроек ядра (вот наконец правильное слово подобрал)? Дальше - больше. Если я хочу, чтобы вместо тех надписей, которые пробегают на экране в момент загрузки ядра пробегали совсем другие надписи, или чтобы в этот момент на этране какая-нибудь картинка висела, или чтобы переключение экрана на кириллицу осуществлялось в момент загрузки ядра - где это должно настраиваться? Если я хочу, чтобы ядро искало программу init не в /sbin, а в, допустим, /system/bin, а файл конфигурации назывался бы не /etc/inittab, а /system/inittab - где это должно настраиваться? В "From Powerup To Bash Prompt-HOWTO" сказано "хакайте". А если я в СИ не совсем рублю, то что тогда (ну вот наконец-то я добрался до основного вопроса темы)? Вполне возможно, что где-то в Сети уже выложены ядра с изменённым исходным кодом и что возможно даже существуют русскоязычные ядра. Если кто знает об их существовании - прошу сообщить.
Ну а теперь вопросы, касающиеся не ядра в частности, а LINUX в общем: Мне, человеку привыкшему к DOS/WINDOWS не совсем понятна структура каталогов LINUX. Например в моей Windows98 в корневом каталоге существуют каталоги "WINDOWS", "Program Files", "RECYCLED", "APPLIED", "UTILITES", "FILES" и "RAW", где FILES - это переименованный каталог "Мои документы", где я храню музыку, фильмы и т.д., RAW - хранилище "сырых" файлов, тут у меня, например, находится веб-страница, над которой я работаю, все программы у меня классифицируются как прикладные и утилиты, для них предназначены каталоги APPLIED и UTILITES, соответственно. В "C:\UTILITES\WINRAR" тоже, я прошу обратить внимение, полный порядок и предсказуемость: WINRAR.EXE - это бинарник, RAREXT.DLL - это библиотека, WINRAR.CNT - это конфиг, RAR.LOG - это логфайл, WINRAR.HLP - это хелпфайл. В LINUX же - полная неразбериха: в /bin - все бинарники, в /lib - все библиотеки, в /etc - все конфиги, со всех программ в одну кучу и невозможно их как-то классифицировать. Я обратил внимание что при установки программ для LINUX, отсутствует диалог куда устанавливать. Вы можете сказать: "Если тебе ничего не понятно - значит ты не туда полез, пользуйся WINDOWS", но я считаю что я имею право удолетворить свою любознательность. В "PATH-HOWTO" сказано, что путь к бинарникам устанавливается в переменной PATH, но не сказано где устанавливаются пути к библиотекам и конфигам. Могу предположить, что эти установки "зашиты" в ядре, тогда я снова возвращаюсь к вопросу - как это настраивается? Ещё два возникших вопроса - в LINUX физически невозможны такие виндовые фишки как запуск программы с компакт-диска и самораспаковывающиеся архивы - так или нет?
Надеюсь, что вы не проигнорирунте мои вопросы. С уважением ко всем линуксоидам, Сергей(RasKolbas).

Отправлено: 19:04, 26-02-2006 | #4


Ветеран


Сообщения: 716
Благодарности: 55

Профиль | Отправить PM | Цитировать


Лучше книжку возьми почитай хоть самую плохую.
Больно уж много всего написал.
Чтобы поставить в другой каталог, можно использовать --prefix=каталог при сборке программы.
Тип файла в linux определяется не порасширению (которое по сути - липа), а по содержимому, хотя и "расширения" тоже учитываются.
В linux с самого создания все имена были длинные (файловая система ext2), атрибуты файла содержали достаточно информации о файле, в отличие от систем FAT/NTFS, в расширении не было необходимости. Тем более оно может просто запутать пользователя (можно вспомнить исполняемые вирусы с расширением jpg). Исполняемые файлы имеют атрибут "исполняемый", остальные выполнять нельзя обычным образом (если не установить этот атрибут выполнение такого файла запрещено).
В windows любая программа почти всегда несет с собой все используемые ею компоненты (ну, разве что, кроме стандартных частей ОС) - это идеология (отсюда дистрибутивы по 600 Мб). В *nix - все программы модульные, используют кучу разных компонентов, которые используют другие программы и т.д. Что сокращает общий объем файлов, но накладывает зависимости на приложения. Обычно используемые менеджеры пакетов для установки бинарных (уже скомпилированных) программ и библиотек отслеживают эти зависимости автоматически (rpm, deb и т.п.) и даже сами устанавливают автоматически недостающие пакеты (apt).
Запуск с компакт диска возможен, если он соответствующим образом смонтирован (без noexec).
Все файлы пользователя (кроме root) содержаться в его домашнем каталоге (/home/имя_пользователя), для root - в /root/.
Файловая система едина, не содержит деление на диски. Есть даже специальные файлы-устройства, вывод в которые приведет к выводу на устройства, например, /dev/hda - жесткий диск, /dev/rtc - real time clock, /dev/lp0 - принтер на LPT1 и т.п.

В отличие от Windows 9x, где NTFS еще не было и такого понятия как права доступа к файлу тоже не было, в linux такое с момента его появления (ибо он построен на базе unix). (Windows 9x - это вообще оболочка защищенного режима для DOS в прямом смысле).
Очень советую выбрать дистрибутив Ubuntu (установка его проста) для освоения linux (ибо ubuntu прост в настройке - все работает из коробки). И не стоит компилировать ядро! Статьи, что читаете - старье. Ибо ядро часто уже скомпилированно с заданным набором возможностей. Перекомпилировать стоит только в том случае, если производителем дистрибутива не добавлена в ядро какая-то очень нужная вам возможность (например, работа с новым оборудованием, экспериментальные драйвера и т.п.).
Заказать Ubuntu можно бесплатно на shipit.ubuntu.com
Я сам им пользуюсь (там к тому же очень удобный менеджер пакетов от debian - deb + apt).

Отправлено: 00:11, 27-02-2006 | #5


Аватара для BuGfiX

Слакофил


Сообщения: 590
Благодарности: 130

Профиль | Сайт | Отправить PM | Цитировать


Такс.. .я конечно не считаю себя особо продвинутым линуксоидом, но все-таки постараюсь ответить.
Цитата:
В отличии от системм класса DOS/WINDOWS, в LINUX ядро не поставляется в дистрибутиве как есть, а должно быть собрано (скомпилированно) администратором из исходников.
Вообще-то в большинстве всех дистрибутивов ядро поставляется в 2-х видах: в скомпилированном (бинарном) виде, и в виде исходников. Пакеты, содержащие его обычно называются вроде kernel-x.x.x.rpm (само ядро), kernel-modules (модули ядра), kernel-headers (заголовочные файлы) либо kernel-source (исходники ядра, использованного в дистрибутиве). В любом случае, исходники доступны на kernel.org для свободного скачивания.
Цитата:
"make config", "make menuconfig" и "make xconfig" и что единственное что можно настроить этими способами - это наличие в ядре тех или иных модулей или установка поддержки тех или иных опций.
В общем случае процесс компиляции заключается в следующем:
1. Распаковать исходники куда-нить (обычно в /usr/src);
2. make menuconfig - именно тут вы и выбираете что включать в ваше ядро, а что нет, что делать отдельными модулями, что "вшивать" в ядро.
3. cd /usr/src/linux; make dep bzImage modules modules_install; cp arch/i386/boot/bzImage /boot/my-new-kernel
4. правка /etc/lilo.conf и запуск lilo.
Цитата:
А если я допустим хочу внедрить в ядро модуль, написанный каким-нибудь програмистом Васей, то как мне быть?
В этом случае, если вася что-то написал для ядра (он наверное не дурак, раз сделал это-)), скорее всего вам будет предложен diff или patch-файл, которым нужно будет пропатчить ядро перед запуском make menuconfig. Я например проделывал такую операцию чтобы прикрутить к ядру 2.4.непомню свой видео тюнер.
Цитата:
Если я хочу, чтобы вместо тех надписей, которые пробегают на экране в момент загрузки ядра пробегали совсем другие надписи,
Флаг вам в руки, как говорится.. Ищите эти самые надписи в исходниках и заменяйте на свои. Только проследите за длиной буфера строки.
Цитата:
или чтобы в этот момент на этране какая-нибудь картинка висела,
Копайте в сторону Bootsplash.
Цитата:
или чтобы переключение экрана на кириллицу осуществлялось.....
Не совсем понятно что значит "переключение экрана".
Цитата:
Если я хочу, чтобы ядро искало программу init не в /sbin, а в, допустим, /system/bin
В lilo.conf добавьте параметр к ядру: init=/system/bin/init

Теперь по поводу структуры каталогов (думаю, с переводом проблем быть не должно):
/bin Basic user-related programs are here. Command shells and programs such as ls.
/boot LILO boot-related files
/dev Block and character device files.
/etc Configuration and system initialization files.
/home User home directories, except root.
/lib Essential libraries (like the system C library and kernel modules).
/mnt Generic mountpoint for fixing filesystems.
/opt Optional software packages.
/proc Proc filesystem mountpoint for kernel interaction.
/root Root's home directory.
/sbin System binaries. Programs run by root or at boot time.
/tmp Temporary directory. Everyone has read+write permissions here.
/usr User-related programs such as X11, netscape, and pine.
/var System log files, lock files, mail spools, and printer spools.
Далее.
Цитата:
Я обратил внимание что при установки программ для LINUX, отсутствует диалог куда устанавливать.
Если ставите из пакета - то да. Если собираете программу из исходников, то в параметрах ./configure вы можете указать что где лежит, например ./configure --prefix=/heaven/ --libdir=/hell и т.д.
Цитата:
Могу предположить, что эти установки "зашиты" в ядре, тогда я снова возвращаюсь к вопросу - как это настраивается?
Переменные окружения в ядре не зашиты! Тут пркатически полная аналогия с DOS/WINDDOWS. Они устанавливаются из загрузочных скриптов.
Цитата:
в LINUX физически невозможны такие виндовые фишки как запуск программы с компакт-диска и самораспаковывающиеся архивы - так или нет?
Ну почему-же... С компакта программы запускаются, да и архивы самораспаковывающиеся есть, например драйвера nvidia или игры от id-software...

И напоследок - попробуйте искать ответы на свои вопросы в google, да и сам линукс обладает обширной документацией... посмотрите например файл README и содержимое папки Documentation ядра.

-------
If you don`t know what to use this for, you don`t need it.

http://sergey.sereda.googlepages.com...e1_userbar.gif


Отправлено: 00:24, 27-02-2006 | #6


Новый участник


Сообщения: 35
Благодарности: 0

Профиль | Отправить PM | Цитировать


А вообще, если хочешь очень хорошо освоить Linux:
1 - забудь, всё что знаешь о WIndows и DOS
2 - не запускай как можно дольше X (работай в командной строке).
3 - найди себе опытного товарища, который всегда подскажет
4 - прежде чем спрашивать постарайся разобраться сам, даже методом проб и ошибок.
5 - устройся где-нибудь на работу, где установлен и используется Linux и где придётся постоянно на нём что-то ставить и настраивать (так как в домашних условиях играться с консолью вскоре наскучит и настоящего понимания этой ОС не придёт никогда).

Отправлено: 11:15, 27-02-2006 | #7


Старожил


Сообщения: 481
Благодарности: 8

Профиль | Отправить PM | Цитировать


Спасибо всем за советы и ответы.

Цитата:
Очень советую выбрать дистрибутив Ubuntu (установка его проста) для освоения linux (ибо ubuntu прост в настройке - все работает из коробки). И не стоит компилировать ядро!
Попробую, но мне больше хотелось научиться ставить LINUX из кусочков загружая их с GNU.ORG или ещё откуда, без всяких там пакетов.

Отправлено: 19:52, 27-02-2006 | #8


Аватара для bdancer

Старожил


Сообщения: 170
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


>Попробую, но мне больше хотелось научиться ставить LINUX из кусочков
www.linuxfromscratch.org

-------
Linux User Group Of Ryazan (LUGR)


Отправлено: 20:13, 28-02-2006 | #9


Ветеран


Сообщения: 716
Благодарности: 55

Профиль | Отправить PM | Цитировать


Попробуй. Если вообще что-то получится, то это будет помойка. Возьми gentoo, если так все собирать хочется с нуля. Если собирать некоторые вещи лень - возьми Slackware.

Отправлено: 16:29, 01-03-2006 | #10



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Хакнутые ядра

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] 4 ядра Delion Soulblade Microsoft Windows 2000/XP 3 15-08-2008 11:49
Сборка ядра Pink Punk Общий по Linux 14 25-05-2003 09:17
Компиляция ядра DYURIK Общий по Linux 38 30-04-2003 14:09
Компиляция ядра Andro Общий по Linux 17 25-04-2003 21:06
Установка ядра Guest Общий по Linux 8 15-03-2003 08:54




 
Переход