[devel-distro] Q: more then 4GB file on iso
Leonid Krivoshein
klark.devel at gmail.com
Thu May 30 18:01:27 MSK 2024
On 5/30/24 04:15, Антон Мидюков wrote:
> 30.05.2024 06:31, Leonid Krivoshein пишет:
>> On 5/29/24 17:58, Leonid Krivoshein wrote:
>>> Добрый день!
>>>
>>>
>>> On 5/29/24 16:32, Антон Мидюков wrote:
>>>> 29.05.2024 20:26, Sergey V Turchin пишет:
>>>>> Привет всем!
>>>>>
>>>>> Наткнулся на:
>>>>>
>>>>> libisofs: FAILURE : File "/live" cannot be added to image because its size is
>>>>> 4 GiB or larger
>>>>> libisofs: FAILURE : A file is bigger than supported by used standard
>>>>>
>>>>> Это всё? Только файловую систему менять?
>>>>>
>>>> Да. Или уменьшать live.
>>> mkisofs -iso-level 3
>>>
>>> With level 3, no restrictions (other than ISO-9660:1988) do apply. Starting with this level, mkisofs also allows files to be larger than 4 GB by implementing ISO-9660 multi-extent files.
>>>
>>> Но мне не нравится идея комбинировать UDF с загрузочными ISO-9660.
>> Поясню, хотя это тоже субъективно: совместимость с такими дисками у реальных приводов сильно хуже, чем у однослойных, односторонних, стандартных ISO-9660 DVD 4.3Gb. Получается, что то, ради чего сохраняется ISO-контейнер, во многих случаях просто перестанет работать. Потому что мы сможем создать 8.5Gb ISO-образ, пользователь сможет его прожечь только на соответствующем приводе, а вот сможет ли он с него загрузиться, несмотря на El-Toritto, вопрос везения и попадания лучей.) При этом Ubuntu 24.04 LTS занимает 6Gb, ISO Hybrid. Видимо они забили на CD/DVD.
>>
> Почему ты так считаешь? Там же обратная совместимость со всеми стандартами со времён dos. Всё, что нужно, это чтобы BIOS или UEFI загрузил grub, прочитав его расположение на той версии стандарта, который он понимает, а уже grub загрузит любой современный вариант isofs. Думаю, что проблема будет только с архиваторами или программами монтирования в windows, которые не понимают RockRidge и теб более не поймут файлы более 4 ГБ. Они просто не узнают о существовании файла live и не распакуют/покажут его.
> Надо действительно попробовать добавить -iso-level 3
ISO Hybrid в какой-то степени уже ломает привычный механизм загрузки,
она становится зависимой и от реализации на железе, и от режима
загрузки, и от типа загрузочного носителя. В результате мы уже не
удивляемся, что загрузка в том же режиме на разном железе может пойти
разными путями, стараемся это учитывать. В своё время переход на ISO
Hybrid и grub с isolinux стоил отказа от поддержки загрузки на многих
legacy-железках.
>> Остаётся на выбор: либо пользователю не докладывать пакетов как тигру мяса, либо отказаться вообще от сборки live, либо перейти на формат загрузочной флешки или архива rootfs, где нет таких ограничений. В 99.9% случаев люди и так не используют ISO-образы для прожига болванок, с них грузятся либо в виртуалке, либо записывая на ту же флешку.
>>
>>
>>> Лучше подумать о разбивке сквоша на части через split и собирать его через dm и mount -o loop из частей. Ещё лучше уйти от этого устаревшего контейнера.
>> Есть такие варианты: HD-RAW, который можно конвертировать во что угодно, и просто архив уже предустановленной rootfs. С первым вариантом мы и так уже давно в какой-то степени работаем на некотором железе, т.к. оно видит наши ISO-образы на флешках как обычные диски благодаря ISO Hybrid. Для второго варианта можно сделать отдельный образ развёртывалки, в т.ч. и сразу по сети. А можно сделать инструкцию по записи rootfs на конечный диск, подобную этой: https://www.altlinux.org/write , и тогда не нужен даже установщик.
> rootfs в виде тарбола проблемно разворачивать простым пользователям.
Тем не менее, не самые народные дистрибутивы мы поставляем только в
формате rootfs со времён p9. Для такого подхода инструмент развёртывания
всегда будет где-то сбоку, но ведь это тоже решение проблемы с большим
live -- мы просто выносим его за пределы загрузочного ISO-образа.
> iso понимают виртуальные машины,
HD RAW они тоже понимают, через qemu-img можно сконвертировать в любой
формат для виртуальной среды.
> iso хранят информацию о диске (название дистрибутива, лицензия и прочее).
В rootfs основная лежит в /etc/os-release. И можно придумать что-то ещё,
если нужна дополнительная информация.
>> Нас это ограничение очень давно поджидало. Рано или поздно мы к этому всё равно придём. В других дистрибутивах давно уже пришли. Взять те же NetInstall из Debian, CentOS или netboot из Ubuntu.
>>
>>
> На данный момент в mkimage-profiles есть возможность собрать вместо iso тарбол, внутри не будет grub или syslinux, только их конфиги. Лучше, чем ничего.
--
WBR, Leonid Krivoshein.
More information about the devel-distro
mailing list