>Состав мудулей, включенных в initrd, обычно определяется инсталлятором по текущему набору оборудования,
>поэтому на другой машине с этим initrd линукс имеет полное право
>не загрузиться. И в ядре линукса действительно может не быть драйвера
>ata. Понятно, спасибо. Значит действителньо через жопу.
>FreeBSD, в отличие от Linux, такими ухищрениями не пользуется. Есть ядро generic,
>большое и тяжелое, не оптимальное, но в него вкомпилировано практически всё
>часто встречающееся оборудование. Обычно после установки FreeBSD ядро пересобирают под конкретное
>аппаратное обеспечение (его всё-равно приходится пересобирать, т.к. generic умеет очень мало
>полезного), удаляя поддержку ненужных устройств - не имеющихся в наличии SCSI-контроллеров,
>всяких USB-Ethernet и т.д. Такое ядро действительно рсикует не запуститься на
>машине с другим набором оборудования.
Тут не все верно. Пересобирать ядро смысла уже нет и этим почти никто (из тех, кто понимает что делает) не занимается, ни в сторону выкидывания лишнего (+/- 1 метр для /boot/kernel/kernel чай не гагабайт для Java), ни в сторону добавления нового (модули работают отлично, и почти все подсистемы, которые раньше надо было прописывать как option уже давно грузятся модулями).
>Windows идет по пути initrd. При инсталляции для доступа к оборудованию используются
>драйвер CD-ROM'а и/или драйвер-обертка над BIOS, через которые инсталлятор загружает все
>драйвера (значимые для процесса загрузки), имеющиеся на установочном диске. Драйвера, которые
>не обнаружили своего оборудования, на HDD не записываются.
Прикольно.
Насчет Linux вы меня огорчили.
- FreeBSD может не загрузится на другом железе _только если специально выкинуть драйвера из ядра_.
- Linux может не загрузитья из-за отсутсвия дров, но во вменяемых дистрах в initrd есть все что нужно.
- Windows может не загрузиться не только из-за отсутствия дров, но и, как показывает практика, из-за своего убогого HAL, даже при переносе между схожими по железу машинами и даже зная целевой набор железа, убедиться что система заработает никак нельзя.
Об этом я и говорил