Загрузка ОС Linux без загрузчика

Автор: admin от 9-10-2013, 12:57, посмотрело: 3 101

Введение


Здесь по возможности я постараюсь как можно проще и детальнее ответить на вопрос:
«Как можно загрузить Linux (на примере ubuntu) без использования загрузчика такого как GRUB 2, iELILO»
Здесь не будет разбираться как запустить/установить Ubuntu в режиме [UEFI only]. Для этого обратитесь сюда help.ubuntu.ru/wiki/установка_дистрибутива_на_компьютер_с_efi
и сюда help.ubuntu.ru/wiki/lubuntu-osinstallation
Все действия будут производиться на уже работающей системе.

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

Требования


1. UEFI вместо BIOS (выставить режим [UEFI only]);
2. OS 64-bit;
3. Linux (Kernel >= 3.3);

Входные данные


Установленный дистрибутив lubuntu-13.04-desktop-amd64 с выставленным режимом [UEFI only]. Отключил Fast Boot (После завершения можно включить).

Полученная таблица разделов
[email protected]:~$ sudo parted /dev/sda print

Model: ATA mSata Smartbuy 3 (scsi)
Disk /dev/sda: 32,0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system     Name  Flags
 1      1049kB  99,6MB  98,6MB  fat32                 boot
 2      99,6MB  27,8GB  27,7GB  ext4
 3      27,8GB  32,0GB  4182MB  linux-swap(v1)

Необходимо обратить внимание на 1 раздел, с него и будет осуществляться прямая загрузка ядра без участия отдельного загрузчика (например GRUB 2), предъявляемые к нему требования:


  • Выставленный флаг boot;

  • Рекомендуемый размер до 512 МБ (встречал разные рекомендации каким он должен быть размером, в основном это 200-300 МБ, от себя замечу, что на деле он будет занят на 5.3 МБ);

  • Файловая система fat32/fat16/fat12 (UEFI имеет поддержку);


  • данный раздел не обязательно должен идти первым, главное, соблюсти требования выше (от себя советую поставить первым).

    Подготовительные этапы выполнены, мы имеем работающую 64 битную операционную систему с выставленным режимом UEFI only и разделом для ядра (в данный момент там расположен GRUB, рядом мы положим ядро).

    Получаем и настраиваем своё ядро


    Загружаем ОС, открываем консоль.
    Для того, чтобы ядро могло загрузиться без использования загрузчика, ему необходимо указать диск который будет монтироватся в качестве корневого, чтобы это сделать, нужно собрать своё ядро и указать ему опцию
    CONFIG_CMDLINE="root=/dev/sda2 ro"
    

    у меня ОС установлена на диске sda2.
    Обычно эту строку передаёт загрузчик GRUB вместе со многими другими параметрами

    Если у Вас другая версия дистрибутива[/b]Проверьте, чтобы были установлены опции ядра
    CONFIG_EFI=y
    CONFIG_RELOCATABLE=y
    CONFIG_EFI_STUB=y
    CONFIG_EFI_PARTITION=y
    CONFIG_EFI_VARS=m #or y works too.
    CONFIG_FB_EFI=y
    CONFIG_FRAMEBUFFER_CONSOLE=y



    Категория: Операционные системы / Linux

    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

    Добавление комментария

    Имя:*
    E-Mail:
    Комментарий:
    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent