Пересборка LiveCD Ubuntu: различия между версиями
Перейти к навигации
Перейти к поиску
Gumanoed (обсуждение | вклад) |
Vovan (обсуждение | вклад) |
||
| (не показано 17 промежуточных версий 3 участников) | |||
| Строка 1: | Строка 1: | ||
| + | =Общие шаги пересборки= | ||
| + | |||
| + | ==Предостережение== | ||
| + | |||
| + | !!! Этот набор команд больше следует воспринимать как некоторые записки опытного системного администратора | ||
| + | Нужно понимать что происходит на каждом этапе! | ||
| + | |||
mount -o loop feisty.iso loop/ | mount -o loop feisty.iso loop/ | ||
| Строка 13: | Строка 20: | ||
nano ubuntu-source/etc/apt/sources.list | nano ubuntu-source/etc/apt/sources.list | ||
| − | mount --bind /dev/ | + | mount --bind /dev/ ./ubuntu-source/dev |
| − | mount -t proc /proc | + | mount -t proc /proc ./ubuntu-source/proc |
| − | mount -t sysfs /sys | + | mount -t sysfs /sys ./ubuntu-source/sys |
chroot ubuntu-source | chroot ubuntu-source | ||
| − | echo " | + | 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 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 | ||
| Строка 28: | Строка 34: | ||
aptitude clean | 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