Пересборка LiveCD Ubuntu: различия между версиями
Перейти к навигации
Перейти к поиску
Gumanoed (обсуждение | вклад) |
Vovan (обсуждение | вклад) |
||
(не показаны 23 промежуточные версии 3 участников) | |||
Строка 1: | Строка 1: | ||
+ | =Общие шаги пересборки= | ||
+ | |||
+ | ==Предостережение== | ||
+ | |||
+ | !!! Этот набор команд больше следует воспринимать как некоторые записки опытного системного администратора | ||
+ | Нужно понимать что происходит на каждом этапе! | ||
+ | |||
+ | 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 | 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 | ||
+ | |||
+ | <pre> | ||
+ | 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" | ||
+ | </pre> | ||
+ | |||
+ | 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 |
Текущая версия на 17:51, 21 марта 2021
Содержание
Общие шаги пересборки
Предостережение
!!! Этот набор команд больше следует воспринимать как некоторые записки опытного системного администратора Нужно понимать что происходит на каждом этапе!
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