=== checksum

«Шаг» входит в подпакет *make-initrd-bootchain-altboot*, подсчитывает
контрольную сумму ранее загруженного или указанного, это может быть
не только SHA-256, но и любой другой хэш. По умолчанию используется
программа *sha256sum*. Процесс подсчёта контрольной суммы визуализируется
виджетом *gauge*.

image::../images/bc05.jpg[align="center",scaledwidth="75%"]

image::../images/bc-err1.jpg[align="center",scaledwidth="75%"]

<<<
Параметры загрузки:

*altboot_checksum* — единственный обязательный параметр, определяющий
контрольную сумму и (опционально) хэш-программу для подсчёта этой суммы,
а также имя файла в смонтированном на предыдущем «шаге» каталоге. Формат
этого параметра таков:

* altboot_checksum=**<HASH>** -либо-
* altboot_checksum=[*`<hashprog>`*]:**<HASH>** -либо-
* altboot_checksum=[*`<hashprog>`*]:**<HASH>**:**<filename>**

Следует иметь ввиду, что если имя файла не передано через единственный параметр,
то на обязательном предыдущем «шаге» должно быть создано устройство, определяемое
файлом *DEVNAME* либо *dev*, а также размер образа в байтах, загруженного в это
устройство, определяемое файлом *FILESIZE*. Данному поведению удовлетворяют шаги
*download* и *copyfile*, которые в случае успеха монтируют загруженный сквош или
ISO-образ через lomount().

link:https://www.altlinux.org/Propagator[Пропагатор] подсчитывал контрольную
сумму при скачивании файла. В *altboot* фактически существует два сценария
подсчёта контрольной суммы: загрузить большой образ в память и посчитать ЛИБО
посчитать сначала «на месте», например, на ранее смонтированном каталоге,
а потом делать с ним что-либо дальше, что приводит к двойному чтению образа.
Первый способ эффективнее, но при включенном lowmem или live, *altboot* в
_<<_совместимость_с_propagator_и_init_bottom,режиме совместимости с пропагатором>>_
использует второй сценарий.

.Примеры использования:
[,,subs="verbatim,quotes"]
----
root=bootchain bootchain=fg,download,`*checksum*`,... \
  `*altboot_checksum*`=01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b

root=bootchain bootchain=fg,download,`*checksum*`,... \
  `*altboot_checksum*`=md5sum:68b329da9893e34099c7d8ad5cb9c940:/live
----

См. также:

* https://bugzilla.altlinux.org/30745

