Aq_UNDERSCOPE_0
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: У товарища взял поюзать - он в Белоруссии живет, там их продают по 500 баксов спекулянты | М-да, до Украины они не скоро доедут. А штука по-своему мощная. Если на этой тачке есть USB2-порт (хост) и Linux, то на этой тачке есть ВСЁ. Цитата: Спасибо за советы. Сложнова-то, конечно, для меня, как для новичка... | Каждая операционная система загружается по-своему. Ты поставил себе задачу, которая не юзерская, а как минимум админская. WinNT/XP, вообще говоря, тоже загружаются нетривиальным образом. Для того, чтобы самому разобраться, нужно иметь как минимум БАЗОВЫЕ понятия о загрузке многозадачных операционных систем. Такие знания можно получить либо перерыв Google, либо закончив «элитный» лицей для крутых детишек, где на «европейских» уроках информатики всё это рассказывают. С массовой компьютерной грамотностью у нас в стране очень плохо, поэтому каждый сисоп для получения элементарных знаний вынужден «геройствовать», ставить алхимические эксперименты, действуя путём научного тыка. И это не смешно, это плачевно -- позор стране и её системе образования. Итак, информация по загрузке, чтобы исчезли сразу все тупые вопросы. Для того, чтобы операционная система загружалась, нужно взять её ядро, загрузить в память, дать ему некоторые указания (карта доступной ОП, параметры драйверов, RAID если есть) и сказать, какой из разделов диска является системным. Этот принцип верен для всех ОС с некоторыми оговорками в каждом отдельном случае, в том числе и для Виндоуз. Помнишь, для чего нужны и как работают опции в файле c:\boot.ini? Вот то-то же. С ДОС вобщем-то происходит то же самое, только в общем случае ядро ДОС вместо драйверов диска использует команды BIOS, а ядро настолько маленькое, что его помещают прямо в загрузочный сектор загрузочного диска, пардон за тавталогию. Насколько ты помнишь, это делает утилита SYS.COM. Ядро Linux поначалу тоже было очень маленьким, поэтому его также записывали прямо в загрузочный сектор командой dd. Только новые ядра Linux не всегда были стабильными (это естественно, программисты делают ошибки также как и все люди), и если нестабильное ядро записать в загрузочный сектор, то система могла умереть с концами. Поэтому новенькое ядро первоначально копировали в загрузочный сектор флоппи-дискеты, с неё запускались и пробовали работоспособность системы, и только потом заливали на жёсткий диск. Шли годы, и становилось всё более очевидным, что банально забивать ядро в бут-сектор -- очень неудобно, тем более что хочется иметь возможность загружать ещё и другие ОС, помелче и помягче. Поэтому были придуманы ЗАГРУЗЧИКИ, из которых долгое время самым популярным был LILO для Интелей/х86, MILO -- версия LILO для UltraSPARC, а в последнее время становится популярным GRUB, но мне он что-то не понравился, хотя большинство производителей дистров советуют пользоваться именно им. Немногочисленные пользователи Linux на машинах других архитектур по-прежнему вынуждены грузить ядро непосредственно в память с диска/флэша/CD, до появления универсальных загрузчиков, таких как RedBoot. В нынешние времена ядро и вовсе невозможно записать в загрузочный сектор диска, поскольку современные ядра имеют размер больше 512кБ, особенно на 64-битных архитектурах. Принцип работы загрузчика LILO следующий. Загрузившись, он выводит перед пользователем меню (текстовое или графическое, зависит от версии и настроек), и, в зависимости от выбора пользователя, загружает одно из ядер Linux, или специальный загрузчик chain, который загружает бут-сектор с DOS или Win. Ядро/ядра Linux хранятся в виде файлов на жёстком диске. Обычно в каталоге /boot, хотя и вовсе необязательно (однако по неписанному соглашению все ядра Linux обязаны размещаться в /boot). Загрузчик НЕ ЗНАЕТ, в каком именно разделе и на какой файловой системе хранится файл ядра, не читает на ходу настройки файла /etc/lilo.conf, он просто "помнит" номера всех секторов жёсткого диска с файлами ядер, которые собственно и загружает по очереди, обращаясь к диску посредством функций BIOS. Поэтому, если файл-образ ядра был перезаписан, перемещён, переименован, либо содержащий файл(ы) раздел подвергся дефрагментации, загрузчик окажется НЕРАБОТОСПОСОБЕН. Для конфигурирования и записи в бут-сектор нового загрузчика используется команда lilo (исполняемый файл /sbin/lilo). Именно эта утилита-установщик и считывает опции и параметры из конфигурационного файла, затем обращается к драйверу(-рам) файловой системы (тип файловой системы по барабану), который(-ые) сообщает номера секторов с файлом(-лами) ядра(ядер), затем проверяет параметры BIOS на предмет «видимости» нужного диска. И после этого перезаписывает загрузчик с другими параметрами. Дальше почитай man lilo.conf и LILO-HOWTO. Ядро Linux к BIOS не обращается, и его функциями не пользуется за исключением нескольких специфических случаев (установка первичного графического режима и т. п.). Поэтому, для успешной загрузки должены работать драйвер контроллера жёсткого диска и драйвер файловой системы корневого(системного) раздела. Обычно эти драйвера делают частью ядра, но иногда их загружают отдельно; для этого используют так называемую временную файловую систему, образ которой обычно хранится в файле initrd, и которая загружается вместе с ядром. Это в частности требуется, если Linux загружается с виртуального жёсткого диска, который находится в виде файла в разделе FAT32. Для освоения этого вопроса требуется научиться пересобирать ядро и иметь представляние о функционровании устройств в Linux, о файловой системе /dev. Читать Kernel-HOWTO. Загрузчик RedBoot работает немного по-другому. Он вовсе не обращается к BIOS (обычно на КПК, где его в-основном и используют, никакого BIOS нету), и представляет собой миниатюрную операционную систему, которая имеет собственные мини-драйвера. Она монтирует нужный раздел встроенного носителя, находит ядро, считывает опции конфигурационного файла, и сама его загружает, сообща также карту адресов оперативной памяти SDRAM. В карманных машинках в едином адресном пространстве находятся три вида памяти: NOR Flash, SDRAM, NAND Flash. В первую и записывается RedBoot, сконструированный строго для конкретного экземпляра машинки (КПК) раз и навсегда. И не трогается без крайней необходимости. Системный раздел обычно организован в виде RAM-диска, расположенного по старшим адресам, где и находится обычно NAND Flash. Новые ядра прописываются в конфигурационном файле, который не страшно перезаписать: его, а также все ядра RedBoot найдёт сам. Цитата: Самая большая жопа в том, что у меня нет внешнего ДВД-юка | Вот проблему нашёл. Покупаешь шлейф-адаптер IDE-USB, и врубаешь свой DVD в USB-порт твоего ноутбука. Запитать его можешь откуда угодно, хоть от своего же десктопа. Шина USB гальванически развязана, так что ничего страшного от такого подключения не будет.
---------- The Aquihost Workstation Master |
|