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

Alexey Gladkov legion at kernel.org
Tue Nov 26 19:47:15 MSK 2024


On Tue, Nov 26, 2024 at 07:06:43PM +0300, Антон Мидюков wrote:
> 26.11.2024 19:01, Alexey Gladkov пишет:
> > On Mon, Nov 25, 2024 at 10:02:28PM +0300, Антон Мидюков wrote:
> >>
> >> Спасибо за принятый пулл-риквест:
> >> https://github.com/osboot/make-initrd/pull/41
> >>
> >> При сборке пакета нужно будет добавить у make-initrd-kickstart зависимость на пакет f2fs-tools.
> > 
> > Да, постараюсь не забыть.
> > 
> > Но не мог бы ты ещё чуть-чуть потестировать.
> > 
> 
> Да, конечно.
> Тем более мы ещё одну проблему нашли.
> На sd-картах и emmc зависает на цикле.
> 
> + for f in $(set +f; printf '%s\n' /sys/block/*)                                                                        
> + '[' -e /sys/block/mmcblk2 ']'                                                                                         
> + maj=                                                                                                                  
> + min=                                                                                                                  
> + IFS=:                                                                                                                 
> + read -r maj min                                                                                                       
> ++ get_device_type 179                                                                                                  
> ++ local id=179                                                                                                         
> ++ shift                                                                                                                
> ++ local block=                                                                                                         
> ++ local maj type                                                                                                       
> ++ read -r maj type                                                                                                     
> ++ '[' -n '' ']'                                                                                                        
> ++ '[' 'Character devices:' '!=' 'Block devices:' ']'                                                                   
> ++ read -r maj type                                                                                                     
> ++ '[' -n '' ']'                                                                                                        
> ++ '[' '1 mem' '!=' 'Block devices:' ']'                                                                                
> ++ read -r maj type                                                                                                     
> ++ '[' -n '' ']'                                                                                                        
> ++ '[' '4 /dev/vc/0' '!=' 'Block devices:' ']'                                                                          
> ++ read -r maj type                                                                                                     
> ++ '[' -n '' ']'                                                                                                        
> ++ '[' '4 tty' '!=' 'Block devices:' ']'                                                                                
> ++ read -r maj type                                                                                                     
> ++ '[' -n '' ']'                                                                                                        
> ++ '[' '4 ttyS' '!=' 'Block devices:' ']'                                                                               
> ++ read -r maj type 
> 
> И тому подобное бесконечно.
> Я так понимаю, неправильно обрабатывает.
> На них номер раздела буквой 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


-- 
Rgrds, legion



More information about the Make-initrd mailing list