Страницы

Поиск по вопросам

четверг, 2 января 2020 г.

Загрузка ядра linux

#linux #загрузка #kernel #boot


Здраствуйте, решил себе ради интереса создать linux дистрибутив.

Собрал ядро, создал загрузочный ramdisk, сделал все что мне нужно в ramdisk

В итоге у меня вышла такая структура каталогов:

Папка boot в ней две папки, первая initrd, вторая kernel, в первой лежит main.gz
во второй kernel.lk

Как теперь из этого всего сделать img образ чтоб запустить в эмуляторе? Гугл сказал
что мне нужен загрузчик

Много чего в гугле читал но нормального мануала по установке загрузчика для новичка
не нашел.

Мог бы кто расказать подробнее, 
ибо я новичок: первый раз собрал ядро.
    


Ответы

Ответ 1



Смотря какой эмулятор используете, например Qemu поддерживает прямую загрузку ядра и рамдиска. Используй параметры -kernel bzImage use 'bzImage' as kernel image -append cmdline use 'cmdline' as kernel command line -initrd file use 'file' as initial ram disk или Воспользуйся virt-manager или virt-install - хорошие менеджеры для qemu. На других виртуалках можно воспользоваться GRUB или Syslinux. Для этого создайте образ диска dd if=/dev/zero of=newos.img bs=10M count=10. Потом создадим там раздел и файловую систему $ fdisk ./newos.img Welcome to fdisk (util-linux 2.26.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. На диске не удалось найти таблицу разделов. Created a new DOS disklabel with disk identifier 0xa17f7b6a. Команда (m для справки): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Номер раздела (1-4, default 1): 1 Первый сектор (2048-20479, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-20479, default 20479): Created a new partition 1 of type 'Linux' and of size 9 MiB. Команда (m для справки): w The partition table has been altered. Syncing disks. $ sudo partx -a ./newos.img $ sudo mkfs.ext4 /dev/loop0p1 Смонтируй луп и скопируй туда папочку /boot/ и установим туда grub: grub-install --boot-directory=КАТАЛОГ /dev/loop0 И можно отключить образ $ partx -d ./newos.img В некоторых деталях алгоритм установки скорее всего прийдется подкоректировать. И всеже рекомендую использовать qemu для игр с рамдиском ;)

Комментариев нет:

Отправить комментарий