Bug 52670 - altboot 0.1.5-alt27: `reserve' operand expected (error token is "* 1024 + 900000")
Summary: altboot 0.1.5-alt27: `reserve' operand expected (error token is "* 1024 + 900...
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: make-initrd-bootchain-altboot (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Leonid Krivoshein
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-01-11 18:29 MSK by Arseny Maslennikov
Modified: 2025-01-15 13:46 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arseny Maslennikov 2025-01-11 18:29:36 MSK
initramfs взята из regular-rescue от 20250108, это latest на сегодняшний день. Туда, видимо, попала уже 0.1.5-alt27.

Указываю в kernel cmdline:

  altboot_download=method=url;url=http://${hostname}/${path}/rr-20250108-x86_64.iso

altboot не может скачать файл, прикидывается, что докачал мгновенно (TUI: 0% -> 100% за доли секунды). Дальнейшие шаги ничего не могут сделать, машина вечно ждёт root от bootchain.

Судя по логу /var/log/chaind.log, в функции check_avail_space вылетает ошибка навроде:

  bash: * 1024 + 900000: syntax error: operand expected (error token is "* 1024 + 900000")

Там мог высветиться номер строки, но я не запомнил. Точный $szkb тоже не запомнил, только старшую цифру.
По контексту и цитате ясно, что это подстановка $reserve длины 0, видимо, в строке с local sizemin=.

Глянув в /lib/bootchain/download, вижу, что reserve — это bootarg.
Указываю взамен в kernel cmdline:

  altboot_download=method=url;url=http://${hostname}/${path}/rr-20250108-x86_64.iso;reserve=0

С такой записью образ качается, и загрузка успешно продолжается.

Прошу поправить — раньше передавать reserve явно не требовалось, да и просто такого bootarg не было :).
Comment 1 Arseny Maslennikov 2025-01-11 18:44:31 MSK
(In reply to Arseny Maslennikov from comment #0)
> Прошу поправить — раньше передавать reserve явно не требовалось, да и просто
> такого bootarg не было :).

Дефолт 512M мне будет в самый раз. :)
Comment 2 Leonid Krivoshein 2025-01-11 19:07:15 MSK
Спасибо! Действительно регрессия. Причём, открывющая глаза на проблему того, что в altboot'овских "шагах" потенциально могут быть и другие неинициализированные переменные, если "шаг" задействован не в режиме совместимости с пропагатором, т.е. когда это всё используется в режиме bootchain или pipeline.

Подготовил таск #369258, надо будет сначала проверить.
Comment 3 Repository Robot 2025-01-13 19:40:05 MSK
make-initrd-bootchain-0.1.5-alt28 -> sisyphus:

 Sat Jan 11 2025 Leonid Krivoshein <klark@altlinux> 0.1.5-alt28
 - fixed uninitialized value of variable (ALT #52670)
Comment 4 Arseny Maslennikov 2025-01-15 13:46:51 MSK
Опробовал сегодня образ от 20250115, куда попала версия 0.1.5-alt28. Проблема устранена. Ещё раз благодарю! :)

Также уберу regular-rescue из заглавия баги.