LINUX.ORG.RU

Alpine Linux + LiLO - не монтируется корень

 , , , ,


0

1

Всем доброго дня!

Имеется странный кейс попытки запуска Alpine Linux с помощью загрузчика Lilo.

Что имеется:

  1. Виртуалка с установленным Alpine Linux
  2. Конфигурация дисков:
/ # lsblk -f
NAME   FSTYPE   FSVER LABEL                    UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
loop0  squashfs                                                                                    
sda                                                                                                
├─sda1 ext4                                    8b5433cb-fbb8-4096-833e-0cc0e99cf2f7  224.4M    10% /boot
├─sda2 swap                                    7e2f2e56-350f-4f5e-84ef-e12baeab2056                
└─sda3 ext4                                    01992032-c8af-4c84-9853-4e5c5bac1ecc   13.5G     2% /

Device  Boot StartCHS    EndCHS        StartLBA     EndLBA    Sectors  Size Id Type
/dev/sda1 *  1,0,1       300,63,32         2048     616447     614400  300M 83 Linux
/dev/sda2    301,0,1     1023,63,32      616448    2523135    1906688  931M 82 Linux swap
/dev/sda3    1023,63,32  1023,63,32     2523136   33554431   31031296 14.7G 83 Linux

  1. Установленный lilo, удалённый syslinux:
/ # ls -lR /boot
/boot:
total 28044
-rw-r--r--    1 root     root           380 Apr 26 19:03 cool.sh
-rw-------    1 root     root      16693257 Apr 27 10:32 initramfs-lts
-r--r--r--    1 root     root         69632 Apr  7 15:00 ldlinux.sys
drwxr-xr-x    3 root     root          1024 Apr 26 19:52 lilo
-rw-------    1 root     root         50688 Apr 27 19:55 map
-rw-r--r--    1 root     root      11899904 Apr  4 11:34 vmlinuz-lts

/boot/lilo:
total 52
-rw-r--r--    1 root     root           512 Apr 26 19:36 boot.0800
drwxr-xr-x    2 root     root          1024 Apr 26 19:16 gfx
-rw-------    1 root     root         50688 Apr 26 19:52 map

/boot/lilo/gfx:
total 257
-rw-r--r--    1 root     root        113162 Nov 12 12:12 coffee.bmp
-rw-r--r--    1 root     root           426 Nov 12 12:12 coffee.dat
-rw-r--r--    1 root     root         22560 Nov 12 12:12 debian-de.bmp
-rw-r--r--    1 root     root           426 Nov 12 12:12 debian-de.dat
-rw-r--r--    1 root     root         22466 Nov 12 12:12 debian.bmp
-rw-r--r--    1 root     root           423 Nov 12 12:12 debian.dat
-rw-r--r--    1 root     root         31628 Nov 12 12:12 debianlilo.bmp
-rw-r--r--    1 root     root           435 Nov 12 12:12 debianlilo.dat
-rw-r--r--    1 root     root         22578 Nov 12 12:12 inside.bmp
-rw-r--r--    1 root     root           432 Nov 12 12:12 inside.dat
-rw-r--r--    1 root     root          6878 Nov 12 12:12 onlyblue.bmp
-rw-r--r--    1 root     root           424 Nov 12 12:12 onlyblue.dat
-rw-r--r--    1 root     root         33192 Nov 12 12:12 tuxlogo.bmp
-rw-r--r--    1 root     root           423 Nov 12 12:12 tuxlogo.dat

Конфиг lilo:

/ # cat /etc/lilo/lilo.conf
# /etc/lilo/lilo.conf

### LILO global section ###

# Good assumptions for a modern (post-1998) system
compact
large-memory
lba32

# Menu configuration
install = bmp
bitmap = /boot/lilo/gfx/tuxlogo.bmp

# Boot the first entry automatically in 10 seconds
prompt
timeout = 50

# These will be configured automatically by liloconfig(8)
boot = "/dev/sda"
#root = ""
map = /boot/map

### LILO per-image section ###
image = /boot/vmlinuz-lts
        label = "Alpine Linux"
        root = /dev/sda3
        #root = /dev/disk/by-uuid/01992032-c8af-4c84-9853-4e5c5bac1ecc
        #append = "root=/dev/sda3"
        initrd = /boot/initramfs-lts
        read-write

Ну и, конечно же, fstab:

/ # cat /etc/fstab
UUID=01992032-c8af-4c84-9853-4e5c5bac1ecc       /       ext4    rw,relatime 0 1
UUID=8b5433cb-fbb8-4096-833e-0cc0e99cf2f7       /boot   ext4    rw,relatime 0 2
UUID=7e2f2e56-350f-4f5e-84ef-e12baeab2056       swap    swap    defaults        0 0
/dev/cdrom      /media/cdrom    iso9660 noauto,ro 0 0
/dev/usbdisk    /media/usb      vfat    noauto  0 0
tmpfs   /tmp    tmpfs   nosuid,nodev    0       0

В дополнение

/ # cat /etc/mkinitfs/mkinitfs.conf 
features="ata base ide scsi usb virtio ext4"

Проблема заключается в том, что в такой конфигурации у меня загрузчик подхватывается, ядро и initramfs (как я понял) в память загружаютя. А вот при попытке подмонтировать корень выскакивает ошибка и рекавери шелл:

mount: mounting 803 on /sysroot failed: No such file or directory

При попытке подмонтировать корневой раздел из рекавери получаю ошибку выше. Как объяснено в гугле - это из-за того, что ramfs загружена в память в режиме чтения.

Где я ошибься и куда копать, чтобы загрузить ОС? Делать mkinitfs с указанием корневого раздела? Применять опцию Append?



Последнее исправление: santic (всего исправлений: 1)
Ответ на: комментарий от Lrrr

О, получилось!

Посмотрел какие параметры ядру передаются при стандартном syslinux и привёл конфиг lilo к следующему виду:

image = /boot/vmlinuz-lts
        label = "Alpine Linux"
        append = "root=/dev/sda3 modules=sd-mod,usb-storage,ext4 quiet rootfstype=ext4"
        initrd = /boot/initramfs-lts
        read-write

Да уж, решение проблемы на 5 минут, а трата поиска проблемы на 2 дня…

@Lrrr спасибо за подсказку!

santic
() автор топика