LINUX.ORG.RU

Debian Bullseye - bootcd (Live Debian из установленной системы) нативно!

 , , , ,


3

1

https://packages.debian.org/bullseye/bootcd

Всего лишь:

$ sudo apt update
$ sudo apt install bootcd

* при установке с аргументами --no-install-recommends --no-install-suggests при создании образа системы идут ошибки, разница по экономии места - 20 Мб. Так что тут каждый решает сам.

А затем:

$ sudo bootcdwrite

** Важный момент! Именно через sudo, так как при попытке зайти через su и потом выполнить $ bootcdwrite - появляются ошибки.

И всё, Вы получили iso - Live копию Вашей системы, которая будет лежать по умолчанию в /var/spool/bootcd

Да, все настолько просто.

При этом, если на основном разделе у Вас не будет хватать места, то можно изменить путь, куда выложим готовый iso-шник, для этого идем в /etc/bootcd/bootcdwrite.conf и находим/правим:



#   This defines the directory where the image resists after build.
#   Default::
#
#     VAR=/var/spool/bootcd
#
VAR="/var/spool/bootcd"


Имеет смысл перед созданием снимка системы размонтировать разделы, не связанные с системой.

Также рекомендую посмотреть на: bootcdbackup bootcdflopcp bootcd2disk bootcdmk2diskconf

.

.

Записать образ на флешку можно командой:


dd if="./filename.iso" of="/dev/sdb" status="progress" conv="fsync"

Только сначала стоит убедиться, что флешка у нас идет именно как sdb, в противном случае можно стереть что-то нужное на другом носителе.

.

.

https://manpages.debian.org/stretch/bootcd/bootcd.1.en.html

NAME

bootcd* - утилиты для запуска бездисковых систем с компакт-диска

DESCRIPTION

С помощью bootcd вы можете скопировать работающую систему Debian на компакт-диск с помощью команды bootcdwrite. Если в вашей системе нет устройства записи компакт-дисков, вы можете создать загрузочный компакт-диск через NFS на удаленной системе с помощью устройства записи компакт-дисков или создать только образ ISO. Когда вы запускаете свою систему с компакт-диска, вам не нужны никакие диски. Все изменения будут производиться в оперативной памяти. Чтобы повторно использовать эти изменения при следующей загрузке, вы можете сохранить их на FLOPPY с помощью команды bootcdflopcp. Если загрузка с вашего CD-привода не поддерживается, возможна загрузка с FLOPPY. Можно установить новую систему с работающего компакт-диска с помощью команды bootcd2disk. Bootcd2disk также может найти целевой диск, отформатировать его и автоматически сделать загрузочным. bootcd теперь легче установить (только один пакет). Система sandard работает на i386 или amd64. Как и все стандартные ядра Debian, initrd теперь используется bootcd по умолчанию.



Последнее исправление: UNX (всего исправлений: 8)

Всего лишь:

$ sudo apt install bootcd
Следующие НОВЫЕ пакеты будут установлены:
  bootcd dosfstools efibootmgr gawk genisoimage grub-efi-amd64-bin
  grub-efi-amd64-signed isolinux libburn4 libisoburn1 libisofs6 libjte2
  libsigsegv2 mokutil mtools rsync shellia shim-helpers-amd64-signed
  shim-signed shim-signed-common shim-unsigned syslinux syslinux-common
  uuid-runtime wodim xorriso

а если так?

$ sudo apt install --no-install-recommends bootcd
Следующие НОВЫЕ пакеты будут установлены:
  bootcd dosfstools gawk genisoimage grub-efi-amd64-bin isolinux libburn4
  libisoburn1 libisofs6 libjte2 libsigsegv2 mtools rsync shellia syslinux
  syslinux-common uuid-runtime xorris

уже лучше, но все равно есть богомерзкое уефи, опасаюсь - как бы оно вместо legacy не случилось, уж больно лень все потом в божеский вид приводить.

Вы получили iso - Live копию Вашей системы

а сколько оно будет весить если система весит 4 гига?

amd_amd ★★★★★
()
Ответ на: комментарий от amd_amd

--no-install-recommends --no-install-suggests еще не пробовал, но надо проверить, идея интересная, сам люблю, когда «ничего лишнего»

а сколько оно будет весить если система весит 4 гига?

Сжатие где-то на уровне lz4, думаю настраивается, посмотрю файлы конфигурации. Но если Вы не планируете всё это добро закидывать в оперативку, то не столь и критично, сколько оно весит. А если закидывать - да, стоит заморочиться.

Чуть позже напишу.

Кстати, https://www.linux-live.org/ - тут точно можно выбирать чем жать. В память закинуть тоже не сложно, достаточно дописать toram в опции загрузки. И в систему устанавливать ничего не нужно.

В общем, потестирую - напишу. Рад, что не только мне интересно, если честно. :)

UNX
() автор топика
Ответ на: комментарий от amd_amd

Кстати, если записать полученный iso-шник простым dd на флешку, то при загрузке системы включается оверлей. По отзывчивости, впрочем уступает варианту, когда вообще всё в памяти.

UNX
() автор топика
Ответ на: комментарий от UNX

«Новое - это хорошо забытое старое.»

Да, интересно. Это было уже давно, и без всякой кучи пакетов. УЕФИ или легаси - дело примерно …надцатое.

Squash сожмет примерно раза в четыре. Значит, из 4гб получится около одного. А от исо только лишние сложности и ограничения. Исо нужен только если требуется запись на болванку.

andytux ★★★★★
()
Ответ на: комментарий от amd_amd

а если так?


apt install bootcd --no-install-recommends --no-install-suggests
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово         
Будут установлены следующие дополнительные пакеты:
  file gawk grub-efi-amd64-bin isolinux libburn4 libisoburn1 libisofs6 libjte2
  libsigsegv2 mtools rsync shellia syslinux syslinux-common xorriso
Предлагаемые пакеты:
  elilo aufs-tools gawk-doc floppyd xorriso-tcltk jigit cdck
Рекомендуемые пакеты:
  wodim grub-efi-amd64-signed efibootmgr
Следующие НОВЫЕ пакеты будут установлены:
  bootcd file gawk grub-efi-amd64-bin isolinux libburn4 libisoburn1 libisofs6
  libjte2 libsigsegv2 mtools rsync shellia syslinux syslinux-common xorriso
Обновлено 0 пакетов, установлено 16 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
Необходимо скачать 5 684 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 29,4 MB.

По сравнению с дефолтным вариантом 30 МВ вместо 50 МВ, но при этом:


$ sudo bootcdwrite
[sudo] пароль для unx: 
--- Checking for possible Problems ---
/var/cache/apt will be cleaned (apt-get clean) !
Ok to continue? (y/n) y
--- Cleanup ---
--- Sizes in KByte (du -klsc ) ---
NOT_TO_CD =  . . . . . . . . . . . . . . . . . . . . . . . . . . . 0
CD_ALL (SRCDISK v NOT_TO_CD) = . . . . . . . . . . . . . . . . . . 2199440
Needed = CD_ALL - NOT_TO_CD  . . . . . . . . . . . . . . . . . . . 2199440
DVD+ (4.7 billion bytes) = . . . . . . . . . . . . . . . . . . . . 4700000
because of compression perhaps double size = . . . . . . . . . . . 9400000
OK - SRCDISK does fit on DVD (Needed <= DVD)
VAR =  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7440720
OK - enough space in /var/spool/bootcd (Needed <= VAR)
--- Building Modifications ---
--- output with ERROR from <bootcdwrite/bootcdwrite/build_modifications/do_efilinux> running <mcopy -i /var/spool/bootcd/changes/EFI/efi.img /usr/lib/shim/shimx64.efi.signed ::efi/boot/bootx64.efi> ---
e:/usr/lib/shim/shimx64.efi.signed: No such file or directory
e:exit=1
--- (q)uit (r)edo (i)gnore (s)witch interactive ---
? i
--- output with ERROR from <bootcdwrite/bootcdwrite/build_modifications/do_efilinux> running <mcopy -i /var/spool/bootcd/changes/EFI/efi.img /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed ::efi/boot/grubx64.efi> ---
e:/usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed: No such file or directory
e:exit=1
--- (q)uit (r)edo (i)gnore (s)witch interactive ---
? i
--- do function extra_changes ---
--- Creating CD-Image ---
--- Building input_dir for compression ---
--- Compressing input_dir to compressed_dir (using 3 threads) ---
--- Testing CD-Image ---
work is done... find images in /var/spool/bootcd now!

а сколько оно будет весить если система весит 4 гига?

Понятно, что зависит от того, что у вас за файлы и как хорошо они жмутся, но вот в моем случае:

- раздел диска 10 Gib - свободного места 7,1 Gib - zst жмет всё это добро как 660 MiB - cdimage.iso после запуска команды sudo bootcdwrite выходит 779 MiB

Отсюда делаю предположение, что скорее всего жмет lz4.

В файлах конфигурации /etc/bootcd/ про сжатие ничего не нашел, возможно, нужно искать в /usr/bin/ или где-то еще.

Но я бы за сжатием особо не гнался, так как чем сильнее сжатие - тем медленнее запуск программ.

UNX
() автор топика
Ответ на: комментарий от amd_amd

Если ставить все пакеты по умолчанию, то утилита отрабатывает следующим образом:



sudo bootcdwrite
[sudo] пароль для unx: 
--- Checking for possible Problems ---
/var/cache/apt will be cleaned (apt-get clean) !
Ok to continue? (y/n) y
--- Cleanup ---
--- Sizes in KByte (du -klsc ) ---
NOT_TO_CD =  . . . . . . . . . . . . . . . . . . . . . . . . . . . 0
CD_ALL (SRCDISK v NOT_TO_CD) = . . . . . . . . . . . . . . . . . . 2219872
Needed = CD_ALL - NOT_TO_CD  . . . . . . . . . . . . . . . . . . . 2219872
DVD+ (4.7 billion bytes) = . . . . . . . . . . . . . . . . . . . . 4700000
because of compression perhaps double size = . . . . . . . . . . . 9400000
OK - SRCDISK does fit on DVD (Needed <= DVD)
VAR =  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7420272
OK - enough space in /var/spool/bootcd (Needed <= VAR)
--- Building Modifications ---
--- do function extra_changes ---
--- Creating CD-Image ---
--- Building input_dir for compression ---
--- Compressing input_dir to compressed_dir (using 3 threads) ---
--- Testing CD-Image ---
work is done... find images in /var/spool/bootcd now!

UNX
() автор топика

Вот, кстати, те ошибки, которые идут через su:



$ su
bootcdwrite
--- Checking for possible Problems ---
/var/cache/apt will be cleaned (apt-get clean) !
Ok to continue? (y/n) y
--- Cleanup ---
--- Sizes in KByte (du -klsc ) ---
NOT_TO_CD =  . . . . . . . . . . . . . . . . . . . . . . . . . . . 0
CD_ALL (SRCDISK v NOT_TO_CD) = . . . . . . . . . . . . . . . . . . 2220492
Needed = CD_ALL - NOT_TO_CD  . . . . . . . . . . . . . . . . . . . 2220492
DVD+ (4.7 billion bytes) = . . . . . . . . . . . . . . . . . . . . 4700000
because of compression perhaps double size = . . . . . . . . . . . 9400000
OK - SRCDISK does fit on DVD (Needed <= DVD)
VAR =  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7419808
OK - enough space in /var/spool/bootcd (Needed <= VAR)
--- Building Modifications ---
--- output with ERROR from <bootcdmk2diskconf/bootcdmk2diskconf> running <readinfo "/"> ---
e:/usr/bin/bootcdmk2diskconf: 119: eval: blkid: not found
e:/usr/bin/bootcdmk2diskconf: 123: eval: sfdisk: not found
--- (q)uit (r)edo (i)gnore (s)witch interactive ---
? 


Подозреваю, что связано с группами / правами / окружением. Поэтому - только через sudo

UNX
() автор топика