сборка образов под свои нужды

развернуть
https://t2sde.org/
https://t2sde.org/handbook/html/index.html
https://www.linux-live.org/
https://wiki.archlinux.org/index.php/Archiso_(Русский)
https://wiki.debian.org/ru/Debootstrap
Ставим Ubuntu/Debian через debootstrap из другой Linux-системы
Создание собственного дистрибутива на базе Ubuntu с нуля
Debian 12.3. Автоматизированная установка Simple-CDD
Добавление пакетов к автономному установщику Lubuntu Alternate ISO
Простая кастомизация Ubuntu LiveCD
Как сделать свою сборку Ubuntu LiveCD в три простых шага
Кастомный LiveCD Ubuntu за 5 шагов / Ubuntu LiveCD Remastering
Настройка ISO-образов Ubuntu: документация и примеры использования isorespin.sh
https://help.ubuntu.com/community/LiveCDCustomization
https://help.ubuntu.com/community/InstallCDCustomization
Сборка KDE4 для Slackware 15.0 в стиле KTown — сборка на основе патчей PBSLACKS.
https://github.com/BrunoLafleur/pbslacks
Как создать образ диска в Linux с несколькими разделами, не имея физического образца
Создаем свой загрузочный диск Linux
Раскрываем секреты загрузочных ISO-образов
Анализ и разбивка составных файлов (прошивки, образы дисков)
https://www.altlinux.org/Mkimage/Profiles/m-p/howto
http://nightly.altlinux.org/docs/mkimage-profiles.html
https://www.altlinux.org/Mkimage/FAQ
https://www.altlinux.org/Starterkits/builder
https://www.altlinux.org/Starterkits
https://www.altlinux.org/UEFI
booty - утилита для создания загрузочных образов и накопителей
скрипт "Proxmox на минималках"
https://github.com/sp00f1ng/booty
https://github.com/Tomas-M/linux-live
https://github.com/neobht/uird
https://github.com/unixabg/remaster-iso
https://github.com/zac87/debootstrap_live
https://github.com/sharhalakis/fsprotect
https://github.com/livecd-tools/livecd-tools
cubic
http://ubuntu.fliplinux.com/cubic.html
https://linuxthebest.net/kak-sozdat-svoyu-sborku-linux/
sudo apt-add-repository ppa:cubic-wizard/release
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6494C6D6997C215E
sudo apt update
sudo apt install cubic
Автоматическая установка с kickstart (uzverss установка dokuwiki centos php nginx)
How to create and use a Live CD/ru
Исполнители желаний: обзор конструкторов популярных Linux дистрибутивов
Использование LiveCD для создания пользовательского CentOS .ISO
https://build.opensuse.org/image_templates
Создание образа системы в Linux
Восемь утилит для создания своего собственного дистрибутива Linux
Создание образа Ubuntu для ARM «from scratch»
LinuxCOE SystemDesigner - это веб-приложение, которое позволяет пользователю последовательно устанавливать, настраивать и поддерживать установки системы Linux.
https://www.linux-live.org/
http://www.linuxrespin.org/
https://github.com/Distroshare/distroshare-ubuntu-imager
Create Your Own Linux Distro with Ubuntu Imager
http://www.slax.org/en/modules.php
https://chris-lamb.co.uk/projects/live-magic
http://linuxcoe.sourceforge.net/
http://www.linuxfromscratch.org/
https://openbuildservice.org/
https://wiki.debian.org/AutomateBackports
https://www.packer.io/
https://github.com/go-debos/debos
https://github.com/puppylinux-woof-CE/woof-CE
Создание образа (ов) Thinstation desktop OS.
https://github.com/osboot/make-initrd
https://www.altlinux.org/Make-initrd
Модифицируем процесс загрузки с помощью утилиты make-initrd
Создание загрузочных образов boobstrap v1.0
https://www.linuxfromscratch.org/blfs/view/systemd/postlfs/initramfs.html
man mkinitramfs update-initramfs make-kpkg
запись iso на usb с uefi
fdisk -l
fdisk /dev/sdb
o, n, p, t, ef, a, w
mkfs.vfat -F 32 -n INSTALLER /dev/sdb1
mount /dev/sdb1 /mnt/usb
mount -o loop Downloads/iso/образ.iso /mnt/iso/
cp -rfPp /mnt/iso/* /mnt/usb
sync
отмонтировать флкешку
create_installer_flash.sh
сделать загрузочную iso
OUTPUT=название_исошки
ISO_LABEL=название_раздела
ISO_DIR=каталог_с_исошкой
genisoimage -o "$OUTPUT" -D -J -r -l -b boot/syslinux/isolinux.bin -c boot/syslinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "${ISO_LABEL}" "$ISO_DIR"
isohybrid "$OUTPUT"
монтирование
mount -t iso9660 -o ro /dev/cdrom /cdrom
fdisk -lu arch-live-usb_201105070115.img
mount -t auto -o loop,offset=$((2048*512)) arch-live- usb_201105070115.img /mnt/
ls /dev/mapper
losetup -a
kpartx -av sysresccd.img
kpartx -dv sysresccd.img
losetup --partscan --find --show sysresccd.img
mount /dev/loop1 -o loop /mnt/img
losetup -d /dev/loop1
перепаковка iso
вбиватся от рута, заменяя имя исошки на нужное
mkdir -p /mnt/cdrom /mnt/iso
ISO_INPUT="название_исошки.iso"
mount -o loop /opt/iso/${ISO_INPUT} /mnt/cdrom
cp -rfPp /mnt/cdrom/* /mnt/iso
ISO_OUTPUT="новое_название_исошки.iso"
ISO_LABEL="название_раздела"
ISO_DIR="/mnt/iso"
ISO_PARAMS="-b EFI/BOOT/efiboot.img -no-emul-boot -eltorito-alt-boot"
редактируется что надо, делается это в /mnt/iso
genisoimage -o "${ISO_OUTPUT}" -D -J -r -l ${ISO_PARAMS} -V "${ISO_LABEL}" "${ISO_DIR}"
isohybrid "${ISO_OUTPUT}"
umount /mnt/cdrom
rm -rf /mnt/iso/*
перепаковка initrd.gz
распаковка из под рута:
zcat initrd.gz | cpio -i
запаковать:
find . | cpio -H newc -o | gzip > ../initrd.gz
docker
https://ru.stackoverflow.com/questions/839297/Как-получить-docker-образ-астралинукса-ce
создать минимальный chroot и из него — образ:
$ sudo tar -C каталог-с-chroot-ом -c . | docker import - название-образа
https://www.linuxquestions.org/questions/slackware-14/slackware-64-14-2-chroot-4175615212/
https://docs.slackware.com/howtos:general_admin:setting_up_a_slackware_chroot
Автоматически
http://tty1.uk/scripts/slackware/mkchroot
Вручную
Сначала создайте папку, которая будет содержать chroot:
mkdir /chroot_folder
Монтируем установочный ISO:
mount -o loop slackware-14.1-install-dvd.iso /mnt/cdrom # файл iso
mount -t iso9660 -o ro /dev/cdrom /cdrom # диск в cdrom
cd /mnt/cdrom
После монтирования ISO пакеты (находящиеся в папке slackware или slackware64 ) можно установить в папку chroot с помощью:
installpkg --root /chroot-folder */*.t?z
Затем размонтируйте ISO:
umount /mnt/cdrom
быстрый способ
tar -czvf chroot-slask.tar.gz chroot/
tar -xavf chroot-slask.tar.gz
tar -C chroot -c . | docker import - slackware64
С помощью boxer
pip install funtoo-boxer
$ boxer docker --tag funtoo/boxer-generic_64:2022-06-16 --stage /var/tmp/stage3-generic_64-next-2022-06-16.tar.xz
$ docker run -d --name=foobs funtoo/boxer-generic_64:2022-06-16
$ docker exec -it foobs /bin/bash
увеличить диск на виртуалке
qemu-img resize виртуалка.qcow2 +10G
parted
(parted) select /dev/sda
(parted) print
(parted) resizepart
Partition number? 1
End? [10.0GB]? 30G
(parted) quit
resize2fs /dev/sda1
docker команды
docker image ls
docker run --rm -it slackware64 /bin/bash # опция --rm -если надо чтобы потом контейнер был автоматически удалён
копирование
docker run -v /каталог_на_компе:/каталог_в контейнере
Скопировать файл с хоста в контейнер:
$ docker cp foo.txt имя_контейнера:/foo.txt
Скопировать файл с Docker-контейнера на хост:
$ docker cp имя_контейнера:/foo.txt foo.txt
docker export имя_контейнера | docker import - slackware64-mini
docker save slackware64-mini > slackware64-mini.tgz
docker load -i slackware64-mini.tgz
https://github.com/docker-library/docs
https://docs.docker.com/engine/reference/builder/
Create docker image from scratch
Linux-дистрибутив from scratch для сборки Docker-образов — наш опыт с dappdeps
Как создать наименьший возможный контейнер Docker из любого образа
OpenWrt как родной образ Docker
Распаковка образов Docker с помощью Undocker
https://github.com/moby/moby/blob/master/contrib/mkimage-alpine.sh
https://github.com/moby/moby/blob/master/contrib/mkimage-arch.sh
https://github.com/moby/moby/blob/master/contrib/mkimage-crux.sh
https://github.com/moby/moby/blob/master/contrib/mkimage-yum.sh
Создание базовых изображений
chroot
Настройка необходимых файлов
fstab
Следующий минимальный фрагмент можно использовать для /chroot_folder/etc/fstab
Вход в Chroot
Далее нам нужно подготовить три виртуальных каталога для использования в среде. Это /dev, каталог с виртуальными файлами, представляющими аппаратные устройства, /proc, каталог с виртуальными файлами, представляющими процессы, и /sys, содержащий ядро и другие системные файлы:
mount -o bind /dev /mnt/dev
mount -o bind /proc /mnt/proc
mount -o bind /sys /mnt/sys
Чтобы смонтировать chroot на постоянной основе, добавьте следующее в /etc/fstab вашей хост-системы :
И перезагрузиться. Затем выполните следующую команду, чтобы смонтировать папку chroot:
mount /chroot_folder
Теперь, когда chroot настроен, в него можно выполнить chroot:
chroot /chroot_folder /bin/bash
https://wiki.archlinux.org/title/Chroot
# cd /location/of/new/root
# mount -t proc /proc proc/
# mount -t sysfs /sys sys/
# mount --rbind /dev dev/
винда
Как подготовить свой установочный образ Windows
Создание своего дистрибутива на базе MS Windows 7
MSMG ToolKit
MSMG ToolKit или создаем свой установочный дистрибутив Windows 10
Как создать собственную сборку Windows 10 с помощью инструмента MSMG ToolKit
https://www.ntlite.com/
https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server
Windows Embedded Standard 2009
Windows XP
https://msdn.lol-inter.net/
https://github.com/mauricew/msdnhash
копии оригинальных утечек:
https://github.com/tongzx/nt5src
https://github.com/selfrender/Windows-Server-2003
https://git.kicker.dev/archive/windows-xp
https://git.kicker.dev/archive/windows-server-2003
https://wink.messengergeek.com/t/windows-xp-server-2003-source-code-revisited/22711
https://rentry.co/build-win2k3
Исходный код: https://gg.gg/srv03rtm
Отсутствующие файлы: https://drive.google.com/file/d/1h_v29kNs-XaoitMrXU3rL1cY3kZqUOZg/view
https://archive.org/details/ws03_ntdev
https://archive.org/details/microsoft-leaked-source-code-archive-2020-09-24
https://www.reddit.com/r/windowsxp/comments/iz46du/comment/g6gwcpo/
https://www.limetorrents.lol/Microsoft-leaked-source-code-archive%202020-09-24-torrent-15247398.html
Утечка исходных текстов Windows XP SP1, Windows Server 2003 и других старых ОС
windows_xp_source.rar Password: internaldev
разное
всякое, разное с лора
https://www.linux.org.ru/forum/general/13540544
mkdir /mnt/iso
mount -t iso9660 /home/zenitur/ISO/ubuntu-17.04-desktop-amd64.iso -o loop /mnt/iso
mkdir /mnt/squashfs
mount -t squashfs /mnt/iso/isolinux/filesystem.squashfs -o loop /mnt/squashfs
cd /mnt/squashfs
mkdir /home/zenitur/ubuntu-image
cp -ax ./* /home/zenitur/ubuntu-image
cd /home/zenitur/ubuntu-image
umount /mnt/squashfs
umount /mnt/iso
mount -t proc none /home/zenitur/ubuntu-image/proc
mount --rbind /dev /home/zenitur/ubuntu-image/dev
mount --rbind /sys /home/zenitur/ubuntu-image/sys
chroot /home/zenitur/ubuntu-image
# source /etc/profile
# export PS1="(chroot) $PS1"
(chroot) #
Дальше нужно сгенерировать локали. раскомментировать в /etc/locales локаль en_US.UTF-8, затем выполнить locale-gen
А вот эта команда избавит от WARNING-ов при работе с некоторыми программами (они не фатальны).
mkdir -p /tmp/.private/root
Затем нужно внести изменения, ради которых всё затевалось.
Затем выйти из chroot командой exit. Затем можно, но не обязательно, привести систему к изначальному виду: удалить .bash_history в директории root. Удалить /tmp/.private. Закомментировать локаль обратно. А если устанавливал пакеты - удалить var/cache/apt/archives/*.deb
umount /home/zenitur/ubuntu-image/proc
cat /proc/mounts | awk '{print $2}' | grep "/home/zenitur/ubuntu-image/dev" | sort -r | xargs umount
cat /proc/mounts | awk '{print $2}' | grep "/home/zenitur/ubuntu-image/sys" | sort -r | xargs umount
mksquashfs ./* ../filesystem.squashfs
------------------------------------------------------------------------
сохранить систему в образ
e2image -ar /dev/sdX ~/sdaX.img
https://bootlin.com/pub/conferences/2017/jdll/opdenacker-embedded-linux-in-less-than-4mb-of-ram/opdenacker-embedded-linux-in-less-than-4mb-of-ram.pdf
Загрузочный образ Acronis + VNC + VPN
Менеджер пакетов opkg. Offline инсталляция пакетов в образ корневой файловой системы
slackbuilds.org
https://www.linux.org.ru/gallery/screenshots/13517201?cid=13517584
Исходники можно отзеркалировать так:
rsync -rtLvH --delete-after --delay-updates --safe-links --copy-links --ignore-errors --ignore-existing rsync://slackware.uk/sbosrcarch/by-name/ /mnt/mpt0/system/slackware/sbosrcarch/
Сами слакбилды можно синхронизировать, например, через github: https://github.com/willysr/slackbuilds .
Пакеты и исходники -current ветки тоже можно регулярно синхронизировать с их локальным зеркалом:
rsync -rtLvH --delete-after --delay-updates --safe-links --copy-links --ignore-errors --ignore-existing rsync://mirror.yandex.ru/slackware/slackware64-current/ /mnt/mpt0/system/slackware/slackware64-current/
полезное при сборке linux
http://dl.t2-project.org/binary/2021/
https://www.linuxfromscratch.org/
https://www.linuxfromscratch.org/alfs/
https://www.linuxfromscratch.org/blfs/
https://lx4u.ru/
https://www.lfscript.org/wiki/BuildISO
https://sourceforge.net/projects/lfs-livecd/
https://github.com/emmett1/lfs-scripts
https://github.com/teo-en-ming/teo-en-ming-linux
https://github.com/nobodino/slackware-from-scratch
http://bear.alienbase.nl/cgit/liveslak/tree/make_slackware_live.sh
http://git.liveslak.org/liveslak/tree/iso2usb.sh
# ./iso2usb.sh -i ~/Download/slackware64-live-14.2.iso -o /dev/sdX
# ./iso2usb.sh -P -i ~/Download/slackware64-live-current.iso -o /dev/sdX
# ./iso2usb.sh -i slackware64-live-xfce-current.iso -o /dev/sdX -c 50%
https://www.gnu.org/manual/
https://gcc.gnu.org/onlinedocs/gccint/index.html
https://www.gnu.org/savannah-checkouts/gnu/make/manual/make.html
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/autoconf.html
http://git.savannah.gnu.org/cgit/
https://book.linuxfromscratch.ru/systemv/
https://book.linuxfromscratch.ru/systemv-nc/systemv.txt
https://linuxfromscratch.ru/patches/downloads/
ftp://ftp.lfs-matrix.net/pub/blfs/
http://www.linuxfromscratch.org/lfs/downloads/
https://gcc.gnu.org/wiki/InstallingGCC
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#Warning-Options
https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html
https://gcc.gnu.org/wiki/FAQ#configure_suffix
https://wiki.osdev.org/GCC_Cross-Compiler
http://ftp.gnu.org/pub/gnu/gcc/
https://github.com/archlinux/svntogit-packages/blob/packages/gcc/trunk/PKGBUILD
https://github.com/archlinux/svntogit-packages/commits/packages/gcc/trunk/PKGBUILD
https://github.com/archlinux/svntogit-packages/blob/822476b38dfe76acca6ec207e7ae99a79263677a/trunk/PKGBUILD
https://docs.microsoft.com/ru-ru/cpp/preprocessor/c-cpp-preprocessor-reference?view=vs-2019
http://git.savannah.gnu.org/cgit/config.git/plain/config.sub
http://git.savannah.gnu.org/cgit/config.git/plain/config.guess