Пересборка LiveCD Ubuntu

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску

Общие шаги пересборки

Предостережение

!!! Этот набор команд больше следует воспринимать как некоторые записки опытного системного администратора
Нужно понимать что происходит на каждом этапе!
mount -o loop feisty.iso loop/

rsync -ax loop/. ubuntu-rebuild/
umount loop
mount ubuntu-rebuild/casper/filesystem.squashfs loop -t squashfs -o loop

rsync -av loop/. ubuntu-source
umount loop
nano ubuntu-source/etc/apt/sources.list
mount --bind /dev/ ./ubuntu-source/dev
mount -t proc /proc ./ubuntu-source/proc
mount -t sysfs /sys ./ubuntu-source/sys
chroot ubuntu-source 
echo "nameserver 192.168.10.1" >> /etc/resolv.conf
aptitude purge language-pack-ar language-pack-bn  language-pack-de language-pack-es language-pack-fr language-pack-hi language-pack-pt language-pack-xh  language-pack-ar-base language-pack-bn-base language-pack-de-base language-pack-es-base language-pack-fr-base language-pack-hi-base language-pack-pt-base language-pack-xh-base  language-pack-gnome-ar language-pack-gnome-bn  language-pack-gnome-de language-pack-gnome-es language-pack-gnome-fr language-pack-gnome-hi language-pack-gnome-pt language-pack-gnome-xh language-pack-gnome-ar-base language-pack-gnome-bn-base language-pack-gnome-de-base language-pack-gnome-es-base language-pack-gnome-fr-base language-pack-gnome-hi-base language-pack-gnome-pt-base language-pack-gnome-xh-base
aptitude install ubuntu-restricted-extras language-support-ru language-support-extra-ru language-pack-ru language-pack-gnome-ru language-support-translations-ru 
aptitude clean

Необходимые пакеты для организации клонирования средствами dd

Важно: нужно проверить, что в системе присутствуют все ветки репозитория. Иначе некоторые пакеты могут быть недоступны

Обычно, достаточно этих записей в /etc/apt/sources.list

deb http://archive.ubuntu.com/ubuntu/ eoan main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ eoan-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ eoan-updates main restricted universe multiverse

Устанавливаем ПО по вкусу

apt install ssh x11vnc dcfldd xtightvncviewer

Сборка без GPT

mksquashfs ubuntu-source/ ubuntu-rebuild/casper/filesystem.squashfs -noappend
mkisofs --iso-level 4 -r -V "Ubuntu-9.04-NRTC-Edition" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat  -no-emul-boot -boot-load-size 4 -boot-info-table -o /media/ubuntu-9.04-NRTC-edition.iso ubuntu-rebuild

Сборка с учётом GPT

apt install xorriso
nano make.sh
OLD_IMAGE=ubuntu.iso
MBR_FILE=/tmp/ubuntu_isohybrid_mbr.img
dd if="$OLD_IMAGE" bs=1 count=446 of="$MBR_FILE"

IMAGE=ubuntu19.10-with-dd.iso
BUILD=ubuntu-rebuild

xorriso -as mkisofs -r -V "Ubuntu19.10-with-dd" \
            -cache-inodes -J -l \
            -isohybrid-mbr "$MBR_FILE" \
            -c isolinux/boot.cat \
            -b isolinux/isolinux.bin \
               -no-emul-boot -boot-load-size 4 -boot-info-table \
            -eltorito-alt-boot \
            -e boot/grub/efi.img \
               -no-emul-boot -isohybrid-gpt-basdat \
            -o "$IMAGE" \
            "$BUILD"

rm "$MBR_FILE"
bash make.sh

g4l on Ubuntu 20.04

apt install net-tools xterm dialog lzop udhcpc udpcast
export TERM=xterm

Убрать проверку пересобранной squashfs при загрузке livecd и включить полное погружение squashfs в память (чтобы можно было выдернуть загрузочный носитель) - добавить в параметры ядра при загрузке два таких параметра

toram fsck.mode=skip

Ссылки по теме:

https://unix.stackexchange.com/questions/430037/remove-bootable-usb-after-live-booting-from-it

https://askubuntu.com/questions/1230289/disk-check-on-startup-in-20-04