[make-initrd] Расширение раздела с корнем

Alexey Gladkov legion at kernel.org
Wed Nov 27 17:32:02 MSK 2024


On Tue, Nov 26, 2024 at 05:47:15PM +0100, Alexey Gladkov wrote:
> > И тому подобное бесконечно.
> > Я так понимаю, неправильно обрабатывает.
> > На них номер раздела буквой p отделяются от имени устройства.
> > Но код пока не изучал.
> 
> Ясно. Предположу, что у вас только mmc карта, тогда ясно почему мы висим.
> kickstart ждёт блочные устройства, которые понимает.
> 
> Вот так, думаю, будет работать:
> 
> diff --git a/features/kickstart/data/bin/kickstart b/features/kickstart/data/bin/kickstart
> index 360c485b..291b12d6 100755
> --- a/features/kickstart/data/bin/kickstart
> +++ b/features/kickstart/data/bin/kickstart
> @@ -190,7 +190,7 @@ ks_block_devices()
>                 blocktype="$(get_device_type "$maj")"
> 
>                 case "$blocktype" in
> -                       sd|virtblk)
> +                       sd|virtblk|mmc)
>                                 ;;
>                         *)
>                                 continue

Весь этот код был выдуман, чтобы отфильтровать именно блочные устройства с
дисками, а не все подряд. Я решил _пока_ сделать вот такой белый список.

Можно смотреть на partscan, но атрибут появился только в этом году [1].

$ grep ^ /sys/block/*/partscan
/sys/block/loop0/partscan:0
/sys/block/loop1/partscan:0
/sys/block/loop2/partscan:0
/sys/block/nvme0n1/partscan:1

В принципе можно посмотреть на systemd [2], где решается, кажется похожая
задача.

[1] https://lore.kernel.org/all/20240502130033.1958492-1-hch@lst.de/
[2] https://github.com/systemd/systemd/blob/main/src/shared/blockdev-util.c#L359

-- 
Rgrds, legion



More information about the Make-initrd mailing list