установщик Linux: взгляд изнутри (компиляция /etc, что еще?)

Любые разговоры которые хоть как-то связаны с тематикой форума

Модератор: Модераторы разделов

Nothing1sZever
Сообщения: 3

установщик Linux: взгляд изнутри

Сообщение Nothing1sZever »

Интересно получить полную картинку о механизмах Linux, в частности о том что представляет собой установщик.

В iso дистрибутива той же Suse или Ubuntu есть .tar файлы с бинарниками elf coreutils и прочих модулей ядра, прямо с деревом от /.

Проблемы, которые решает установщик в основном связаны с детектом оборудования, т.е. какие драйвера включить а какие в blacklist, ну и вдобавок конфигурирование служб в /etc

Понятно что это делает скрипт установщика. Так вот,

- как происходит детект оборудования с точки зрения запускаемых команд?
Скрипт установки может запуститься лишь после загрузки универсального 386 initrd образа, т.е. в частности нужно как-то уже в нем детектить оборудование.

Практические аспекты этого вопроса какие угодно, от заочной установки системы после определения конфигурации и оборудования и вплоть до установки по ssh через dhcp.
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: установщик Linux: взгляд изнутри

Сообщение Bluetooth »

Nothing1sZever писал(а): ↑
20.02.2011 16:50
Интересно получить полную картинку о механизмах Linux, в частности о том что представляет собой установщик.

В iso дистрибутива той же Suse или Ubuntu есть .tar файлы с бинарниками elf coreutils и прочих модулей ядра, прямо с деревом от /.

Проблемы, которые решает установщик в основном связаны с детектом оборудования, т.е. какие драйвера включить а какие в blacklist, ну и вдобавок конфигурирование служб в /etc

Понятно что это делает скрипт установщика. Так вот,

- как происходит детект оборудования с точки зрения запускаемых команд?
Скрипт установки может запуститься лишь после загрузки универсального 386 initrd образа, т.е. в частности нужно как-то уже в нем детектить оборудование.

Практические аспекты этого вопроса какие угодно, от заочной установки системы после определения конфигурации и оборудования и вплоть до установки по ssh через dhcp.

Почитайте, например, про debian-installer. По нему море информации.
Спасибо сказали:
Nothing1sZever
Сообщения: 3

Re: установщик Linux: взгляд изнутри

Сообщение Nothing1sZever »

Bluetooth писал(а): ↑
20.02.2011 19:30
Почитайте, например, про debian-installer. По нему море информации.


Ну вот тут

http://www.ibm.com/developerworks/ru/libra...ller/index.html

кое-что. Опять же больше интересовало более абстрактно, нежели просто форк дебиана, хотя наверное, без разницы.
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: установщик Linux: взгляд изнутри

Сообщение Bluetooth »

Nothing1sZever писал(а): ↑
21.02.2011 02:43
кое-что. Опять же больше интересовало более абстрактно, нежели просто форк дебиана, хотя наверное, без разницы.

Более абстрактно разве что вот:
http://www.debian.org/releases/lenny/amd64/
Вряд-ли имеет смысл смотреть еще более абстрактно. Т.к. инсталлеры могут выполнять совершенно разные действия.
Например, можно распаковывать готовый образ системы. В этом случае весь набор действий будет сводиться к создать разделы, создать фс, подмонтировать, распаковать, установить загрузчик, ребут.

Определитесь, какой конкретно Вам инсталлер интересен и разбирайтесь с его работой.
Я, как дебианщик, предложил дебиан инсталлер. Вы же вольны выбрать любой Вас интересующий. Правда, по некоторым может быть меньше документации
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: установщик Linux: взгляд изнутри

Сообщение Portnov »

debian-installer штука мощная, навороченная и гибкая очень. Но я не уверен, что подойдёт для начального ознакомления — оно довольно сложное. Мне кажется, можно начать с установки чего-нибудь типа gentoo (не пользуясь «юзерофильным» установщиком, конечно) или arch, или вобще *bsd — там видно будет, что делает минимальный установщик.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
jojahti
Сообщения: 310

Re: установщик Linux: взгляд изнутри

Сообщение jojahti »

Проблемы, которые решает установщик в основном связаны с детектом оборудования, т.е. какие драйвера включить а какие в blacklist, ну и вдобавок конфигурирование служб в /etc

Вопрос про загрузку ядра что ли? Фишка линукса в том, что можно просто скопировать все файлы на другой комп и всё будет работать. Ну скорее всего будет, если повезёт. :) А оборудование при загрузке ядра определяется.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5513
ОС: Gentoo

Re: установщик Linux: взгляд изнутри

Сообщение /dev/random »

+1, установщик занимается анализом оборудования лишь для специфичных случаев, когда драйвера находятся в отдельных пакетах. Это редкость, и проверить нужно лишь необходимость установки 3-4 пакетов, вроде драйверов nvidia и ati.
Спасибо сказали:
Аватара пользователя
SinClaus
Сообщения: 1952
Статус: Мучитель Мандривы
ОС: Arch,BSD

Re: установщик Linux: взгляд изнутри

Сообщение SinClaus »

Вся хвалёная PNP работает по моему точно так же как работала древняя RT-11 на PDP: кернел, загрузившись, запускает по очереди все драйвера, имеющиеся в наличии. Выполняется тестовая секция, если драйвер опознаёт своё устройство, он садится в резидент.
Спасибо сказали:
Nothing1sZever
Сообщения: 3

Re: установщик Linux: взгляд изнутри

Сообщение Nothing1sZever »

Bluetooth писал(а): ↑
21.02.2011 03:36
Например, можно распаковывать готовый образ системы. В этом случае весь набор действий будет сводиться к создать разделы, создать фс, подмонтировать, распаковать, установить загрузчик, ребут.

Спасибо за ответы, буду думать. Большинство дистрибув работают на другом компе, если в xorg.conf поменять nvidia-glx на intel или даже vesa. Тем не менее, часто есть драйвера которые друг другу мешают, например разные варианты чипов broadcom поэтому часть из них скорее всего попадает в blacklist.

Да, и еще, тот же xorg может создаваться при конфигурировании иксов с командной строки, если я не ошибаюсь.
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: установщик Linux: взгляд изнутри

Сообщение Goodvin »

Nothing1sZever писал(а): ↑
21.02.2011 18:33
Да, и еще, тот же xorg может создаваться при конфигурировании иксов с командной строки, если я не ошибаюсь.
Современным версиям Х-серверов конфиг вообще не нужен в большинстве случаев.
Там автооопределение и автонастройка работает.
Х-сервер при старте сам обнюхивает устройства интерактивного ввода-вывода и загружает нужные дрова.

Спасибо сказали:
Nothing1sZever
Сообщения: 3

Re: установщик Linux: взгляд изнутри

Сообщение Nothing1sZever »

/dev/random писал(а): ↑
21.02.2011 15:25
+1, установщик занимается анализом оборудования лишь для специфичных случаев, когда драйвера находятся в отдельных пакетах. Это редкость, и проверить нужно лишь необходимость установки 3-4 пакетов, вроде драйверов nvidia и ati.

Вот любопытная статья
http://posix.ru/system/sysfs/
Если в-кратце, до ядра 2.6 просто по очереди подгружались модули в разумном порядке из
/lib/modules/2.6.XX.X/kernel/drivers/

В 2.6 появилась sysfs (/sys), которую использует проект udev

тут про udev

http://tux-the-penguin.blogspot.com/2010/02/udev.html

фактически в 2.6 udev создает файлы устройств в /dev и управление стеком оборудования и firmware

Можно сделать вывод что при проблемах с оборудованием в частности при установке совсем нового оборудования можно побаловаться в google с идентификаторами вендора из /sys/bus/pci/devices/ или же даже поискать конфликты ресурсов в /sys/bus/ и /sys/module. Вроде тут все просто. Если устройство опознано но нет файла в /dev можно опять-таки проанализировать зависимости стека устройств. Например в lsmod есть драйвер но он не используется, или модуль занят другим модулем, например ls /sys/class/net и далее проанализировать стек. Или lspci показывает неопознанный id, то можно в /sys/bus/pci/devices/0000\:00\:XX.X/ поискать ресурсы, vendor id и прочую сопутствующую информацию и затем найти подходящий родственный драйвер,

имхо вообще тупо просто проанализировать стек из /sys если знать что нужно и чего не хватает.
Спасибо сказали: