Пересборка LiveCD Ubuntu: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(g4l)
 
(не показаны 3 промежуточные версии этого же участника)
Строка 84: Строка 84:
 
  bash make.sh
 
  bash make.sh
  
=g4l=
+
=g4l on Ubuntu 20.04=
  
  apt install net-tools dialog xterm udhcpc
+
  apt install net-tools xterm dialog lzop udhcpc udpcast
  
 +
export TERM=xterm
  
apt install net-tools
+
Убрать проверку пересобранной squashfs при загрузке livecd и включить полное погружение squashfs в память (чтобы можно было выдернуть загрузочный носитель) - добавить в параметры ядра при загрузке два таких параметра
  16 apt install net-tools gdialog
+
 
  17  apt install net-tools zenity
+
  toram fsck.mode=skip
  18  apt update
+
 
  19  apt install net-tools zenity
+
Ссылки по теме:
  22  apt install xterm-256color
+
 
  23  apt install xterm
+
https://unix.stackexchange.com/questions/430037/remove-bootable-usb-after-live-booting-from-it
  31  apt update
+
 
  32  apt install xterm
+
https://askubuntu.com/questions/1230289/disk-check-on-startup-in-20-04
  33  nano /etc/apt/sources.list
 
  34  apt update
 
  35  apt install xterm
 
  42  apt install dialog
 
  68  apt install lzop udp-sender
 
  70  apt install lzop udpcast
 
  71  apt update
 
  73  apt update
 
  75  apt update
 
  83  apt update
 
  85  apt update
 
  88  apt update
 
  90  apt update
 
  91  apt install lzop udpcast
 
  97  history | grep apt
 

Текущая версия на 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