Table of Contents

http://gitlab.fjfi.cvut.cz/culikzde/uop-2022

Interfacing the PC: Using Interrupts http://wearcam.org/seatsale/programs/www.beyondlogic.org/interrupts/interupt.htm

The PC's keyboard http://wearcam.org/seatsale/programs/www.beyondlogic.org/keyboard/keybrd.htm

Parallel Port http://wearcam.org/seatsale/programs/www.beyondlogic.org/spp/parallel.htm

Serial RS232 Port http://wearcam.org/seatsale/programs/www.beyondlogic.org/serial/serial.htm

http://download-mirror.savannah.gnu.org/releases/pgubook/ProgrammingGroundUp-1-0-lettersize.pdf

Assembly Language (video) https://www.youtube.com/watch?v=rxsBghsrvpI&list=PLKK11Ligqitg9MOX3-0tFT1Rmh3uJp7kA
https://www.youtube.com/watch?v=Dh7GQ_joeE4

Cuda (video) https://www.youtube.com/watch?v=kzXjRFL-gjo&list=PLKK11Ligqititws0ZOoGk3SW-TZCar4dK

Write your own Operating System https://www.youtube.com/playlist?list=PLHh55M_Kq4OApWScZyPl5HhgsTJS9MZ6M
https://github.com/AlgorithMan-de/wyoos

Emulátory

http://bellard.org/jslinux/

http://bellard.org/tinyemu/

jor1k: OpenRISC OR1K Javascript Emulator https://s-macke.github.io/jor1k

FPGA

Fpga4Student https://www.fpga4student.com/2017/04/verilog-code-for-16-bit-risc-processor.html

Fomu - ICE40 FPGA Development Board https://www.adafruit.com/product/4332 https://github.com/skordal/potato/tree/master/src

FemtoRV - https://github.com/BrunoLevy/learn-fpga/blob/master/FemtoRV/TUTORIALS/FROM_BLINKER_TO_RISCV/README.md

Quark - https://github.com/BrunoLevy/learn-fpga/blob/master/FemtoRV/RTL/PROCESSOR/femtorv32_quark.v

Float Add, Mul - https://github.com/BrunoLevy/learn-fpga/blob/master/FemtoRV/RTL/PROCESSOR/petitbateau.v#L397

Nanland RISC-V https://github.com/Mecrisp/Nandland-RISC-V

FleaFPGA Ohm - Next186, NextZ80 - https://github.com/Basman74/Next186/blob/master/Next186_SoC_Diamond_Project.zip

GHDL - https://ghdl.github.io/ghdl/

Verilator - https://www.veripool.org/verilator/

RISC-V Verilator model - https://github.com/aignacio/riscv_verilator_model

RPU - Basic RISC-V CPU implementation in VHDL - https://github.com/Domipheus/RPU

Designing a CPU in VHDL - https://domipheus.com/blog/rpu-series-quick-links

Fpga4Fun - Ethernet - https://www.fpga4fun.com/10BASE-T0.html https://www.fpga4fun.com/10BASE-T1.html ( RaspberiPi https://github.com/osnr/rpi-bitbang-ethernet/blob/master/README.md )

USB https://xess.com/projects/fpga-usb-v2-project/

Fomu, ValentyUSB https://github.com/im-tomu/valentyusb

Qomu https://workshop.fomu.im/en/latest/renode-verilator.html

QtRvSim VHDL https://gitlab.fel.cvut.cz/b4m35pap/rvapo-vhdl/-/tree/main/rvapo/core/logic

RudoIV, RiscV implementation https://github.com/bobbl/rudolv

BiRISC-V, RiscV implementation https://github.com/ultraembedded/biriscv

Niklaus Wirth: Risc5 https://people.inf.ethz.ch/wirth/Lola/index.html

VexRiscv

VexRiscv https://github.com/SpinalHDL/VexRiscv

NaxRisc https://github.com/SpinalHDL/NaxRiscv#running-verilator-simulation

https://github.com/litex-hub/zephyr-on-litex-vexriscv

https://github.com/litex-hub/linux-on-litex-vexriscv

sbt https://repo.scala-sbt.org/scalasbt/rpm

https://www.controlpaths.com/2022/03/28/running-linux-on-a-litex-soc/

https://antmicro.com/blog/2020/05/multicore-vex-in-litex

https://www.luffca.com/tag/vexriscv

https://github.com/SpinalHDL/NaxRiscv

 
dnf install dtc libevent-devel json-c-devel zlib-devel
dnf install verilator gcc-c++-riscv64-linux-gnu scala
 
https://github.com/litex-hub/linux-on-litex-vexriscv/files/8331338/linux_2022_03_23.zip
 
mkdir litex
cd latex
wget https://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.py
chmod +x litex_setup.py
./litex_setup.py --init --install --user
 
curl -L https://www.scala-sbt.org/sbt-rpm.repo > sbt-rpm.repo
sudo mv sbt-rpm.repo /etc/yum.repos.d/
sudo yum install sbt
 
cd linux-on-litex-vexriscv
./sim.py

FPGA Poznámky

CPU 0 LLVM http://jonathan2251.github.io/lbd/TutorialLLVMBackendCpu0.pdf

AES 256 FPGA https://cryptography.gmu.edu/athena/sources/Cryptographic_Engineering_Chapter_10.pdf

Elliptic Curve FPGA https://www.esat.kuleuven.be/cosic/publications/article-2661.pdf

https://www.mikekohn.net/micro/riscv_fpga.php

Debuggers

https://sourceware.org/gdb/current/onlinedocs/gdb.html/File-Transfer.html

https://sourceware.org/gdb/current/onlinedocs/gdb.html/Basic-Python.html

https://stackoverflow.com/questions/4792483/how-to-import-gdb-in-python

https://github.com/bminor/binutils-gdb/blob/master/gdb/python/python.c#L2589

https://sourceware.org/gdb/wiki/PythonGdbTutorial

gdbserver host:2345 executable
gdb
target remote host:2345
remote get remote_file local_file
remote put local_file  remote_file

https://lldb.llvm.org/use/remote.html get-file put-file

https://lldb.llvm.org/python_api/lldb.SBPlatform.html

https://lldb.llvm.org/python_api/lldb.SBPlatformShellCommand.html

Poznámky

http://www.codeproject.com/Articles/45788/The-Real-Protected-Long-mode-assembly-tutorial-for

http://czak.pl/2020/04/09/three-levels-of-qemu-graphics.html

http://github.com/rochus-keller/LeanQt http://www.ibiblio.org/pub/Linux/docs/HOWTO/Large-Disk-HOWTO

For large IDE disks (over 137 GB): make sure your kernel is 2.4.19/2.5.3 or later.

https://badrpc.net/20230728-grub-does-not-recognise-ext4/

Mini OS

https://github.com/klange/toaruos/releases

https://github.com/ghaiklor/ghaiklor-os-gcc

Raspberry

http://github.com/bztsrc/raspi3-tutorial

https://github.com/isometimes/rpi4-osdev

http://s-matyukevich.github.io/raspberry-pi-os

http://s-matyukevich.github.io/raspberry-pi-os/docs/lesson06/rpi-os.html

Ultibo https://ultibo.org/

NVidia

OpenCL Tutorial https://cnugteren.github.io/tutorial/pages/page2.html

Gdev: Open-Source GPGPU Runtime and Driver http://github.com/shinpei0208/gdev

NVidia driver https://download.nvidia.com/XFree86/Linux-x86_64/515.43.04/README/supportedchips.html

NVidia PCI https://pci-ids.ucw.cz/read/PC/10de

http://jlk.fjfi.cvut.cz

Realtek 8125

/etc/default/grub

GRUB_DISABLE_OS_PROBER=true

/etc/apt/sources.list

deb [allow-insecure=yes] file:///mnt/other/debian/ buster main contrib

/etc/apt/apt.conf.d/…

Acquire::AllowInsecureRepositories "true";

https://packages.debian.org/bookworm/r8125-dkms

https://packages.debian.org/bookworm/all/r8125-dkms/download

QEMU

Debian Arm64

qemu-system-aarch64 \
   -M virt \
   -cpu cortex-a72 \
   -m 1G \
   -kernel kernel \
   -initrd initrd \
   -device virtio-blk-device,drive=hd \
   -drive file=image.qcow2,if=none,id=hd \
   -append "root=LABEL=rootfs" \
   -device virtio-net-device,netdev=net \
   -netdev user,id=net,hostfwd=tcp::2223-:22 \
   -device virtio-vga \
   -device virtio-keyboard \
   -device virtio-mouse

https://people.debian.org/~gio/dqib/

Debian RISC-V

qemu-system-riscv64 \
   -M virt \
   -cpu rv64 \
   -m 1G \
   -kernel kernel \
   -initrd initrd \
   -device virtio-blk-device,drive=hd \
   -drive file=image.qcow2,if=none,id=hd \
   -append "root=LABEL=rootfs" \
   -device virtio-net-device,netdev=net \
   -netdev user,id=net,hostfwd=tcp::2222-:22 \
   -device virtio-vga \
   -device virtio-keyboard \
   -device virtio-mouse

http://colatkinson.site/linux/riscv/2021/01/27/riscv-qemu/ https://people.debian.org/~gio/dqib/

Fedora Arm64

qemu-system-aarch64 \
   -M virt \
   -cpu cortex-a72 \
   -smp 4 \
   -m 4G \
   -device virtio-vga \
   -kernel vmlinuz \
   -initrd initrd.img \
   -append "console=ttyAMA root=live:CDLABEL=Fedora-WS-Live-35-1-2" \
   -cdrom Fedora-Workstation-Live-aarch64-35-1.2.iso \
   -boot d \
   -device virtio-keyboard \
   -device virtio-mouse \
   -netdev user,id=net0,hostfwd=tcp::5022-:22 \
   -device virtio-net-device,netdev=net0 \
   -no-reboot

http://mirror.karneval.cz/pub/linux/fedora/linux/releases/35/Everything/aarch64/iso/

HaikuOS RISC-V

qemu-system-riscv64 \
   -M virt \
   -m 1G \
   -device ati-vga \
   -kernel u-boot.bin \
   -drive file=haiku-master-hrev55697-riscv64-mmc.image,format=raw,if=virtio \
   -usb -device usb-ehci,id=echi \
   -device usb-kbd \
   -device usb-tablet

http://www.haiku-os.org/blog/kallisti5/2021-11-07_booting_our_risc-v_images/

http://discuss.haiku-os.org/t/my-haiku-risc-v-port-progress

vgabios-ati.bin from debian package seabios_1.14.0-2_all.deb

Raspbian Arm32

qemu-system-arm \
    -M raspi2 \
    -cpu arm1176 \
    -smp 4 \
    -m 1G \
    -append "rw earlyprintk loglevel=8 console=ttyAMA0,115200 dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2" \
    -dtb bcm2709-rpi-2-b.dtb \
    -sd 2016-05-27-raspbian-jessie.img \
    -kernel kernel7.img

https://downloads.raspberrypi.org/raspbian/images/

(Rasbian 7 Wheezy nestartuje, je nezbytne pouzit kernel specielne urceny pro qemu)

RaspiOS Arm64

IMG=2021-10-30-raspios-bullseye-arm64.img
CMD="console=ttyAMA0 root=/dev/mmcblk0p2 rw rootwait rootfstype=ext4"
 
qemu-system-aarch64 \
  -M raspi3 \
  -m 1024 \
  -kernel kernel8.img \
  -dtb bcm2710-rpi-3-b.dtb \
  -drive file=$IMG,format=raw,if=sd \
  -append "$CMD"

http://downloads.raspberrypi.org/raspios_arm64/images/

qemu-img resize image_file 4G
 
fdisk -l image_file
 
mount -r image_file directory -o offset=`echo 8192*512 | bc`

Cuda

http://en.wikipedia.org/wiki/CUDA

Cuda 8.0,  compute capability 2.0 – 6.x (Fermi, Kepler, Maxwell, Pascal) (VS 2010 .. 2015)
Cuda 9.0,  compute capability 3.0 – 7.0 (Kepler, Maxwell, Pascal, Volta)
Cuda 10.2, compute capability 3.0 – 7.5 (Kepler, Maxwell, Pascal, Volta, Turing) (VS 2012 ..2019)
Cuda 11.0, compute capability 3.5 – 8.0 (Kepler (in part), Maxwell, Pascal, Volta, Turing, ...)
Cuda 12.0, compute capability 5.0 – 9.0 (Maxwell, Pascal, Volta, Turing, ...)
GT 460, GF104,  compute capability 2.1, Cuda 8.0,  NVidia Driver 390, GCC 6
GT 640, GK107,  compute capability 3.0, Cuda 10.2, NVidia Driver 470, GCC 8
GT 730, GK208B, compute capability 3.5, Cuda 10.2, Cuda 11.2, NVidia Driver 470
Debian  9 ... Cuda 8.0, 9.1 (backports), NVidia Driver 390, 418 (backports)
Debian 10 ... Cuda 9.2, Download Cuda 11.2.2, NVidia Driver 418
Debian 11 ... Cuda 11.2, NVidia Driver 470
Debian 12 ... Cuda 11.8 NVidia Driver 525

Fedora 23 ... Download Cuda 8.0 GA2
Fedora 29 ... Download Cuda 10.2
Fedora 33 ... Download Cuda 11.2.2

Ubuntu 18.04 ... Download Cuda 10.2
Ubuntu 20.04 ... Download Cuda 11.2.2

Arch Linux Cuda 10

pacman -S --needed base-devel
pacman -S git
git clone https://aur.archlinux.org/yay.git

edit /etc/makepkg.conf ... MAKEFLAGS="-j4"
cd yay ;  makepkg -si

yay gcc8
yay cuda-10.2
yay nvidia-470xx-dkms

remove current nvidia drivers
   pacman -R nvidia nvidia-utils opencl-nvidia

install old nvidia drivers and cuda
   pacman -U nvidia-470xx-dkms-470.86-2-x86_64.pkg.tar.zst nvidia-470xx-utils-470.86-2-x86_64.pkg.tar.zst opencl-nvidia-470xx-470.86-2-x86_64.pkg.tar.zst
   pacman -U cuda-10.2-10.2.89-3-x86_64.pkg.tar.zst 

disable nouveau
   file /modprobe/nouveau
   blacklist nouveau

Arch Linux Cuda 8

   https://jlk.fjfi.cvut.cz/arch/repo/README.html
   pacman -S nvidia-470xx-dkms

   https://wiki.archlinux.org/title/unofficial_user_repositories#arch4edu
   pacman -S gcc8 (qt4)

   edit /etc/makepkg.conf ... MAKEFLAGS="-j4"
   cd yay ;  makepkg -si

   yay cuda-8.0

Ubuntu 20.04 Cuda 10

mount -r ubuntu-mate-20.04-desktop-amd64.iso disk1
mount -r disk1/casper/filesystem.squashfs disk2

copy files from disk2 to root directory

file /etc/fstab
/dev/sdaN / auto errors=remount-ro 0 0
edit /etc/shadow
edit /etc/hostname
useradd -b /local -m -s /bin/bash uzivatel
rm /etc/localtime
ln -s /usr/share/zoneinfo/Europe/Prague /etc/localtime

edit /etc/locale.gen
locale-gen
file /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
# deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
copy to /boot
initrd.img-5.4.0-26-generic
vmlinuz-5.4.0-26-generic
optionally
apt install linux-image-5.4.0-26-generic
update-initramfs -c -k all
menuentry "Ubuntu 20.04" {
    set root=(hdN,M)
    linux  /boot/vmlinuz root=/dev/sdaM ro quiet
    initrd /boot/initrd.img
}
optionally
apt install dkms_2.8.1-5ubuntu1_all.deb
apt install r8125-dkms_9.010.01-1_all.deb
apt install nvidia-driver-440
apt install nvidia-cuda-dev
apt install nvidia-cuda-toolkit
apt install kdevelop qtcreator kate meld

OpenFOAM

root

apt install mc git
 
sh -c "wget -O - https://dl.openfoam.org/gpg.key > /etc/apt/trusted.gpg.d/openfoam.asc"
add-apt-repository http://dl.openfoam.org/ubuntu
apt-get update
apt-get -y install openfoam9

user

cd ~
git clone https://gitlab.com/foam-for-nuclear/offbeat
mv offbeat Offbeat
cd ~/Offbeat
source /opt/openfoam9/etc/bashrc
make -j
 
mkdir ~/test
 
cp -r /opt/openfoam9/tutorials/mesh/blockMesh/sphere ~/test/sphere
cd  ~/test/sphere
source /opt/openfoam9/etc/bashrc
./Allrun
paraFoam -builtin
 
cp -r ~/Offbeat/Cases/testCases/generic_pwr_2D_rTheta ~/test/generic_pwr_2D_rTheta
cd ~/test/generic_pwr_2D_rTheta
source /opt/openfoam9/etc/bashrc
./Allrun
paraFoam

offbeat-ubuntu-20-04.tgz

( rename offbeat to Offbeat, rename uzivatel-9 to <username>-9 )

Live DVD

create new filesystem.squashfs

directories: modified, original, result

Copy from running Ubuntu to modified
   etc
   home
   opt
   usr
   var
   (root) 
mkdir original
mount -r -t squashfs casper/filesystem.squashfs original 

mkdir result

Copy files from original to result

Replace directories from modified

umount original

mksquashfs result filesystem.squashfs

data for new DVD

directories: old_disk, new_disk

mkdir old_disk
mount -r ubuntu-mate-20.04-desktop-amd64.iso old_disk
mkdir new_disk
copy files from old_disk, replace new filesystem.squashfs
umount old_disk
new_disk, isolinux/txt.cfg, 
add to line with command 'append'
fsck.mode=skip

append  file=/cdrom/preseed/ubuntu-mate.seed initrd=/casper/initrd fsck.mode=skip quiet splash ---

from https://askubuntu.com/questions/1313247/disable-integrity-check-on-ubuntu-server-20-04-1-iso

create .iso

without UEFI

genisoimage \
-cache-inodes \
-J \
-joliet-long \
-b 'isolinux/isolinux.bin' \
-c 'isolinux/boot.cat' \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-volid 'Custom' \
-o ubuntu-mate-20.04-openfoam-amd64.iso \
new_disk

from https://help.ubuntu.com/community/InstallCDCustomization#Preparing_the_bootable_medium

( pacman -S cdrkit )

grub.cfg

menuentry "Ubuntu Mate 20.04" {
    set dir="/ubuntu-20-04"
    linux $dir/casper/vmlinuz boot=casper iso-scan/filename=$dir showmounts
    initrd $dir/casper/initrd
}

menuentry "Ubuntu Mate 20.04 (from iso)" {
    set dir="/ubuntu-20-04"
    # set isofile="$dir/ubuntu-mate-22.04-desktop-amd64.iso"
    set isofile="$dir/ubuntu-mate-22.04-openfoam-amd64.iso"
    loopback loop $isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile showmounts noprompt noeject
    initrd (loop)/casper/initrd
}

Debian 10 Cuda 9

Install

menuentry "Install Debian 10 (64-bit)" {
    linux  /debian10/gtk/vmlinuz vga=788
    initrd /debian10/gtk/initrd.gz
    # vmlinuz and initrd.gz from ftp://.../dists/Debian10.12/main/installer-amd64/current/images/hd-media/gtk
    # iso image in root directory https://cdimage.debian.org/mirror/cdimage/archive/10.12.0/amd64/iso-dvd/

    # linux  /debian10/gtk/linux vga=788
    # initrd /debian10/gtk/initrd.gz
    # linux and initrd.gz from ftp://.../dists/Debian10.9/main/installer-amd64/current/images/netboot/gtk/debian-installer/amd64
}

debian-10.12.0-amd64-DVD-1.iso do kořenového adresáře nebo do adresáře “první úrovně”

Clone

# dnf install partclone
# umount /mnt/disk9
partclone.ext4 -c -s /dev/sda9 -o debian-10.12-fresh-inst.img -L clone.log -x 'gzip -c -9'

Boot from btrfs

menuentry "Debian 10 Buster" {
    set root=($sda,15)
    set dev="/dev/sda15"
    set vol="/debian10-a"
    linux  $vol/vmlinuz root=$dev rootflags=subvol=$vol ro quiet
    initrd $vol/initrd.img
}

/etc/fstab

dev/sda15    btrfs   defaults,subvol=/debian10-a   0   0

Config

# Resume=none
mcedit /etc/initramfs-tools/conf.d/resume
update-initramfs -u
/etc/apt/apt.conf.d/...
APT::Keep-Downloaded-Packages "true";

Cuda

apt-get install nvidia-driver nvidia-cuda-toolkit freeglut3-dev
apt-get install mc qtcreator kdevelop python3-pyqt5

Mandelbrot

apt-get install freeglut3-dev

Makefile
CUDA_PATH ?= /usr/
SMS ?= 30

GLPATH=/usr/lib make

Slax 9 Cuda 8

menuentry "Slax 32-bit (Fresh start)" {
    linux  /slax32/boot/vmlinuz from=/slax32/ vga=normal load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0
    initrd /slax32/boot/initrfs.img
    # slax.flags=automount
}

menuentry "Slax 64-bit (Persistent changes)" {
    linux /slax64/boot/vmlinuz from=/slax64/ vga=normal load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=perch
    initrd /slax64/boot/initrfs.img
}

menuentry "Slax 64-bit (Fresh start)" {
    linux  /slax64/boot/vmlinuz from=/slax64/ vga=normal load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0
    initrd /slax64/boot/initrfs.img
}

menuentry "Slax 64-bit (Copy to RAM)" {
    linux  /slax64/boot/vmlinuz from=/slax64/ vga=normal load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=toram
    initrd /slax64/boot/initrfs.img
}
menuentry "Slax 11 64-bit (Copy to RAM)" {
    linux /slax11_64/boot/vmlinuz from=/slax11_64/ vga=normal load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 consoleblank=0 slax.flags=toram
    initrd /slax11_64/boot/initrfs.img
}

https://www.slax.org/starting.php

https://www.slax.org/customize.php

modprobe.blacklist=nouveau

menuentry "Slax 64-bit (Mini)" {
    linux  /slax64-mini/boot/vmlinuz from=/slax64-mini/ vga=normal load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=automount modprobe.blacklist=nouveau
    initrd /slax64-mini/boot/initrfs.img
}
boot/initrfs.img
boot/vmlinuz
01-core.sb
01-firmware.sb

NVidia Driver

slax-64bit-9.9.0.iso uses kernel linux-image-4.9.0-9-amd64_4.9.168-1_amd64.deb

But repository contains linux-headers-4.9.0-19 (19, not 9)

start installation nvidia-driver with original Slax /etc/apt/sources.list

apt install nvidia-driver
apt remove linux-headers-4.9.0-19-amd64
apt remove linux-headers-4.9.0-19-common

Install Linux headers

First variant - change to 4.9.0-9 /etc/apt/sources.list

# deb http://deb.debian.org/debian/ stretch main contrib non-free
# deb http://deb.debian.org/debian/ stretch-updates main contrib non-free
# deb http://security.debian.org/debian-security stretch/updates main contrib non-free

deb http://snapshot.debian.org/archive/debian/20190501T041322Z stretch main contrib non-free
deb http://snapshot.debian.org/archive/debian/20190501T041322Z stretch-updates main contrib non-free
deb http://snapshot.debian.org/archive/debian-security/20190501T041322Z stretch/updates main contrib non-free

# deb-src http://deb.debian.org/debian/ stretch main contrib non-free

/etc/apt/apt.conf.d/80no_time_check

Acquire::Check-Valid-Until "0";

install old linux headers 4.8.0-9 , not old nvidia-driver

apt update
apt install linux-headers-4.9.0-9-amd64

Second variant - Debian CD/DVD

https://cdimage.debian.org/mirror/cdimage/archive/9.9.0/amd64/list-dvd/

debian-9.9.0-amd64-DVD-1

linux-headers-4.9.0-9-common_4.9.168-1_all.deb

linux-headers-4.9.0-9-amd64_4.9.168-1_amd64.deb

https://ftp.cae.tntech.edu/debian-cd/dvd/

Third variant - snapshot.debian.org

http://snapshot.debian.org/archive/debian/20190501T041322Z/pool/main/l/linux/linux-headers-4.9.0-9-amd64_4.9.168-1_amd64.deb

http://snapshot.debian.org/archive/debian/20190501T041322Z/pool/main/l/linux/linux-headers-4.9.0-9-common_4.9.168-1_all.deb

Continue with original Slax /etc/apt/sources.list

deb http://deb.debian.org/debian/ stretch main contrib non-free
deb http://deb.debian.org/debian/ stretch-updates main contrib non-free
deb http://security.debian.org/debian-security stretch/updates main contrib non-free

deb-src http://deb.debian.org/debian/ stretch main contrib non-free
apt update
dkms remove nvidia-current/390.116 --all
dkms install nvidia-current/390.116
dkms status
apt install nvidia-cuda-toolkit
apt install task-mate-desktop
savechanges 02-cuda.sb
modprobe nvidia-drm
modprobe nvidia
startx 

Applications

nvcc --ccbin clang-3.8 cuda-mini.cc -lstdc++
apt install freeglut3-dev libglew-dev
apt install build-essential qtbase5-dev qtcreator python3-pyqt5
(python3 view.py)

Other applications

apt install mate-desktop-environment

apt install firefox-esr

apt install qtcreator
apt install kdevelop kdevelop-dev kdevelop-php kdevelop-python

apt install libreoffice
apt install meld
apt install kate

apt install build-essential
apt install automake binutils-dev libltdl-dev
apt install libgtk2.0-dev 
apt install libgtk-3-dev
apt install libqt4-dev 
apt install qtbase5-dev

apt install python-qt4 
apt install python-pyqt5 
apt install python3-pyqt4 
apt install python3-pyqt5

apt install python-pyqt5.qtwebengine

Download all source packages

#!/bin/bash
mkdir source
cd source
dpkg --get-selections | while read line
do
        package=`echo $line | awk '{print $1}'`
        apt-get -q source --download-only $package
done

Grub 2

# file /boot/grub2/grub.cfg or /boot/grub/grub.cfg

# set root=(hd0,1)  # (hd0,1) ... sda1

# mkfs.ext4 -O ^has_journal /dev/sdx1
# tune2fs -l /dev/sdx1
# tune2fs -m 0 /dev/sdx1 # no reservered blocks

# mkdir /mnt/other
# mount /dev/sdx1 /mnt/other
# mkdir /mnt/other/dev
# mount --bind /dev /mnt/other/dev
# grub2-install /dev/sdx --boot-directory=/mnt/other/boot

set default=1
set timeout=60

set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue

# set menu_color_normal=white/blue
# set menu_color_highlight=yellow/red
# set color_normal=yellow/black
# set color_highlight=green/dark-gray
# menuentry "sda1 Microsoft Windows 7/8" {
# 	set root=(hd0,1)
# 	insmod part_msdos
# 	insmod ntfs
# 	insmod ntldr
# 	ntldr /bootmgr
# }

# menuentry "sda1 Microsoft Windows XP" {
# 	set root=(hd0,1)
# 	insmod part_msdos
# 	insmod ntfs
# 	insmod ntldr
# 	ntldr /ntldr
# }

menuentry "sda2 Windows" {
        insmod part_msdos
        insmod ntfs
        set root='hd0,msdos2'
        parttool ${root} hidden-
        drivemap -s (hd0) ${root}
        chainloader +1
}
menuentry "Grub from sda3" {
    set root=(hd1,3) # hd1 ... sda, when booting from second disk
    drivemap -s (hd0) (hd1)
    chainloader +1
}

menuentry "sda7 Fedora 34" {
    set root=(hd0,7)
    chainloader +1

    # configfile /boot/grub2/grub.cfg

    # linux  /boot/vmlinuz-5.11.12-300.fc34.x86_64 root=/dev/sda7 ro quiet
    # initrd /boot/initramfs-5.11.12-300.fc34.x86_64.img
}

BTRFS

menuentry "Arch Linux" {
    set root=(hd0,15)
    set dev="/dev/sda15"
    set vol="/archlinux-a"
    linux  $vol/boot/vmlinuz-linux root=$dev rootflags=subvol=$vol rw quiet
    initrd $vol/boot/initramfs-linux.img
}

menuentry "Debian 9 Stretch" {
    set root=(hd0,15)
    linux  /debian9/boot/vmlinuz-4.9.0-15-amd64 root=/dev/sda15 rootflags=subvol=/debian9 ro quiet
    initrd /debian9/boot/initrd.img-4.9.0-15-amd64
}

menuentry "Debian 10 Buster" {
    set root=(hd0,15)
    linux  /debian10/boot/vmlinuz-4.19.0-16-amd64 root=/dev/sda15 rootflags=subvol=/debian10 ro quiet
    initrd /debian10/boot/initrd.img-4.19.0-16-amd64
}

menuentry "Debian 11 Bullseye" {
    set root=(hd0,15)
    linux  /debian11/boot/vmlinuz-5.10.0-6-amd64 root=/dev/sda15 rootflags=subvol=/debian11 ro quiet
    initrd /debian11/boot/initrd.img-5.10.0-6-amd64
}

menuentry "Fedora 33" {
    set root=(hd0,15)
    set dev="/dev/sda15"
    set vol="/fedora33"
    set dir="$vol/boot"
    set ver="5.8.15-301.fc33.x86_64"
    linux  $dir/vmlinuz-$ver root=$dev rootflags=subvol=$vol ro rhgb quiet
    initrd $dir/initramfs-$ver.img
    # /etc/fstab  /dev/sda15  /  btrfs subvol=/fedora33 0 0
}

menuentry "Fedora 34" {
    set root=(hd0,15)
    set dev="/dev/sda15"
    set vol="/fedora34"
    set dir="$vol/boot"
    set ver="5.11.12-300.fc34.x86_64"
    linux  $dir/vmlinuz-$ver root=$dev rootflags=subvol=$vol ro rhgb quiet
    initrd $dir/initramfs-$ver.img
    # /etc/fstab  subvol=/fedora34
}

menuentry "Ubuntu 18.04" {
    set root=($sda,15)
    set dev="/dev/sda15"
    set vol="/ubuntu18.04-a"
    set dir="$vol/boot"
    set ver="5.4.0-48-generic"
    linux  $dir/vmlinuz-$ver root=$dev rootflags=subvol=$vol ro quiet
    initrd $dir/initrd.img-$ver
    # /etc/fstab  subvol=/ubuntu18.04-a    WITHOUT    errors=remount-ro
}

grep -i btrfs /boot/config-4.13.9-300.fc27.x86_64 

mkinitrd /boot/initramfs.img 4.13.9-300.fc27.x86_64 --force

lsinitrd initramfs-4.18.16-300.fc29.x86_64.img | grep nouveau
lsinitrd | grep btrfs

Install

menuentry "Install Arch Linux" {
	# set root=(hd0,1)
	set label="start"
	linux  /archlinux/vmlinuz-linux archisobasedir=archlinux archisolabel=$label
	initrd /archlinux/initramfs-linux.img
        # archisodevice=/dev/...
}

menuentry "Install Arch Linux (from iso)" {
	# set label="start"
	set device="/dev/..."
	set isofile="/boot/archlinux/archlinux-2022.05.01-x86_64.iso"
	loopback loop $isofile
	# linux (loop)/arch/boot/x86_64/vmlinuz-linux img_label=$label img_loop=$isofile earlymodules=loop
	linux (loop)/arch/boot/x86_64/vmlinuz-linux img_dev=$device img_loop=$isofile earlymodules=loop
	initrd (loop)/arch/boot/intel-ucode.img
	initrd (loop)/arch/boot/amd-ucode.img
	initrd (loop)/arch/boot/x86_64/initramfs-linux.img
}
menuentry "Install Debian 7 (32-bit)" {
	linux  /debian7/gtk/vmlinuz vga=788
 	initrd /debian7/gtk/initrd.gz
	# vmlinuz and initrd from ftp://.../dists/.../main/installer-i386/.../images/hd-media
	# .iso file in root directory on some disk partition
}

menuentry "Install Debian 8 (32-bit)" {
	linux  /debian8/gtk/vmlinux vga=788
	initrd /debian8/gtk/initrd.gz
	# linux and initrd.gz from ftp://.../dists/Debian8.11/main/installer-i386/current/images/netboot/gtk/debian-installer/i386
}

menuentry "Install Debian 9 (64-bit)" {
	linux  /debian9/gtk/linux vga=788
	initrd /debian9/gtk/initrd.gz
	# linux and initrd.gz from ftp://.../dists/Debian9.13/main/installer-amd64/current/images/netboot/gtk/debian-installer/amd64
}

menuentry "Install Debian 10 (64-bit)" {
	linux  /debian10/gtk/linux vga=788
	initrd /debian10/gtk/initrd.gz
	# linux and initrd.gz from ftp://.../dists/Debian10.9/main/installer-amd64/current/images/netboot/gtk/debian-installer/amd64
}
menuentry "Install Fedora 34 (64-bit)" {
    # set root=(hd0,1)
    set disk="sda3"
    linux  /fedora34/x86_64/isolinux/vmlinuz inst.repo=hd:$disk:/fedora34/x86_64 inst.ks=hd:$disk:/fedora34/x86_64/fedora34.ks
    initrd /fedora34/x86_64/isolinux/initrd.img
}
menuentry "Install Fedora 37" {
        set disk="hd:LABEL=start"
        set dir="/fedora37/x86_64"
        set ks="fedora37.ks"
        linux  $dir/images/pxeboot/vmlinuz inst.repo=$disk:$dir inst.ks=hd:$disk:$dir/$ks
        initrd $dir/images/pxeboot/initrd.img
}

From http://gist.github.com/hzhangxyz/c61447d5dd8720d3ae67794444c3dfe3

/EFI/Fedora/grub.cfg ( and grubx64.efi )

search --no-floppy --fs-uuid --set=dev aaaabbbb-cccc-dddd-eeee-ffffaaaabbbb
set prefix=($dev)/boot/grub2

export $prefix
configfile $prefix/grub.cfg

/EFI/Install/grub.cfg ( and grubx64.efi and images subdirectory from net-install)

menuentry 'Install Fedora 38' {
        linuxefi /EFI/Install/images/pxeboot/vmlinuz inst.stage2=hd:UUID=ABCD-ABCD:/EFI/Install
        initrdefi /EFI/Install/images/pxeboot/initrd.img
}

Fedora Live

menuentry "Fedora 38 Mate Live" {
        set iso_name="Fedora-MATE-Live-38-1-6"
        set iso_file="Fedora-MATE_Compiz-Live-x86_64-38-1.6.iso"
        loopback loop /$iso_file # only one slash
        linux (loop)/images/pxeboot/vmlinuz rd.live.image verbose root=live:LABEL=$iso_name iso-scan/filename=$iso_file
        initrd (loop)/images/pxeboot/initrd.img
}

menuentry "Fedora 38 LXQt Live" {
        set iso_name="Fedora-LXQt-Live-38-1-6"
        set iso_file="Fedora-LXQt-Live-x86_64-38-1.6.iso"
        loopback loop /$iso_file # only one slash
        # loopback loop (hdN,M)/$iso_file # only one slash
        linux (loop)/images/pxeboot/vmlinuz rd.live.image verbose root=live:LABEL=$iso_name iso-scan/filename=$iso_file
        initrd (loop)/images/pxeboot/initrd.img
}

http://man7.org/linux/man-pages/man7/dracut.cmdline.7.html

https://github.com/dracutdevs/dracut/blob/master/modules.d/90dmsquash-live/dmsquash-generator.sh#L5

iso-scan/filename=

Gentoo CD

menuentry "System Rescue CD 5.3.2 (64-bit)" {
   linux  /boot/sysrcd-5.3.2/rescue64 subdir=boot/sysrcd-5.3.2 setkmap=us docache ar_source=/dev/sdb1
   initrd /boot/sysrcd-5.3.2/initram.igz
}

Arch Linux CD

menuentry "System Rescue CD 6.0.3 (64-bit)" {
   set label="start"
   set dir="sysrcd-6.0.3"
   linux /boot/$dir/vmlinuz archisobasedir=boot/$dir archisolabel=$label copytoram
   initrd /boot/$dir/intel_ucode.img /boot/$dir/amd_ucode.img /boot/$dir/sysresccd.img
   # file in /boot/sysrcd-6.0.3/x86_64 : airootfs.sfs
   # file in /boot/sysrcd-6.0.3 : vmlinuz sysresccd.img intel_ucode.img amd_ucode.img
}

menuentry "System Rescue CD 8.0.3 (64-bit)" {
   set label="start"
   set dir="sysrcd-8.0.3"
   linux /boot/$dir/vmlinuz archisobasedir=boot/$dir archisolabel=$label copytoram
   initrd /boot/$dir/intel_ucode.img /boot/$dir/amd_ucode.img /boot/$dir/sysresccd.img
   # file in /boot/sysrcd-8.0.3/x86_64 : airootfs.sfs
   # file in /boot/sysrcd-8.0.3 : vmlinuz sysresccd.img intel_ucode.img amd_ucode.img
}

https://github.com/alfredopalhares/Archiso/blob/master/README

( cow_label=FS_LABEL or cow_device=/dev/DEVICE )

archisodevice=

Ubuntu

menuentry "Ubuntu Mate 18.04 (32-bit)" {
    set dir="/ubuntu-mate-18.04"
    linux $dir/casper/vmlinuz boot=casper iso-scan/filename=$dir layerfs-path=filesystem.prog.squashfs showmounts
    initrd $dir/casper/initrd
    # sudo umount -l -r -f /isodevice
    # files casper/filesystem.squashfs and casper/filesystem.prog.squashfs
}

menuentry "Ubuntu Mate 20.04" {
    set dir="/ubuntu-mate-20.04"
    linux $dir/casper/vmlinuz boot=casper iso-scan/filename=$dir showmounts
    initrd $dir/casper/initrd
    # linux $dir/casper/vmlinuz boot=casper iso-scan/filename=$dir layerfs-path=filesystem.prog.squashfs showmounts
    # sudo umount -l -r -f /isodevice
    # files casper/filesystem.squashfs and casper/filesystem.prog.squashfs
}

menuentry "Ubuntu Mate 20.04 (from iso)" {
    set dir="/ubuntu-mate-20.04-iso"
    set isofile="$dir/ubuntu-mate-20.04-desktop-amd64.iso"
    loopback loop $isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile showmounts noprompt noeject
    initrd (loop)/casper/initrd
}

http://manpages.ubuntu.com/manpages/focal/en/man7/casper.7.html

( persistent, persistent-path )

live-media=

Debian Live

menuentry "Install Debian 9 (32-bit, from iso)" {
    set dir="/debian9-iso"
    set isofile="$dir/debian-live-9.0.0-i386-mate.iso"
    loopback loop $isofile
    set root=(loop)
    linux  /live/vmlinuz-4.9.0-3-686 boot=live components splash quiet findiso=$isofile
    initrd /live/initrd.img-4.9.0-3-686
}
menuentry "Debian 11 (from iso)" {
    set dir="/debian11-lxqt"
    set isofile="$dir/debian-live-11.4.0-i386-lxqt+nonfree.iso"
    loopback loop $isofile
    set root=(loop)
    linux  /live/vmlinuz-5.10.0-16-686 boot=live components splash quiet findiso=$isofile
    initrd /live/initrd.img-5.10.0-16-686
}

http://manpages.debian.org/bookworm/live-boot-doc/live-boot.7.en.html

fromiso=/dev/sda1/live/image.iso

fromiso=

Slax

http://www.slax.org/starting.php

from=

menuentry "Slax 32-bit (Fresh start)" {
    linux  /slax32/boot/vmlinuz from=/slax32/ vga=normal load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 
    initrd /slax32/boot/initrfs.img
}

menuentry "Slax 64-bit (Persistent changes)" {
    linux /slax64/boot/vmlinuz from=/slax64/ vga=normal load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=perch
    initrd /slax64/boot/initrfs.img
}

menuentry "Slax 64-bit (Fresh start)" {
    linux  /slax64/boot/vmlinuz from=/slax64/ vga=normal load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 
    initrd /slax64/boot/initrfs.img
}

menuentry "Slax 64-bit (Copy to RAM)" {
    linux  /slax64/boot/vmlinuz from=/slax64/ vga=normal load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=toram
    initrd /slax64/boot/initrfs.img
}

OpenMandriva

https://github.com/dracutdevs/dracut/blob/master/modules.d/90dmsquash-live/dmsquash-generator.sh#L5

https://github.com/dracutdevs/dracut/blob/master/modules.d/90dmsquash-live/iso-scan.sh

iso-scan/filename=

Win 7

32-bit Win 7

Git-2.37.2.2-32-bit.exe

TortoiseGit-2.13.0.1-32bit.msi

SharpDevelop_5.1.0.5216_Xcopyable.zip

tcmdr702.exe

WinSCP-5.21.2-Setup.exe

7z2301.msi

Updates

http://servispckupka.cz/jak_reinstalovat_windows_7_dokonceni_nastaveni.php

aktualizaci KB3020369 a poté KB3125574, což je právě “Service Pack 2”

pro 32bitovou verzi Windows 7:

KB3020369 http://servispckupka.cz/data/windows-7/Windows6.1-KB3020369-x86.msu

“Service Pack 2” KB3125574 http://www.catalog.update.microsoft.com/Search.aspx?q=3125574

Notepad Plus Plus

https://notepad-plus-plus.org/downloads/v6.9/

Python

https://www.python.org/ftp/python/3.7.4/python-3.7.4.exe

https://support.microsoft.com/en-us/topic/update-for-universal-c-runtime-in-windows-c0514201-7fe6-95a3-b0a5-287930f3560c

pip install PyQt5==5.12

Qt Creator

https://download.qt.io/archive/qt/5.14/5.14.2/

https://download.qt.io/archive/qt/5.12/5.12.2/

MSYS

https://stackoverflow.com/questions/75660136/is-it-possible-to-install-msys2-in-windows-7

https://repo.msys2.org/distrib/msys2-i686-latest.tar.xz

https://forum.freecad.org/viewtopic.php?t=70782

https://github.com/nalexandru/api-ms-win-core-path-HACK/releases

GetSystemTimePreciseAsFileTime

https://stackoverflow.com/questions/70051785/is-it-possible-to-install-a-newer-version-of-kernel32-dll-into-win-7-x64-that-in

MSYS2 MinGW 32-bit ( C:\MSys32\msys2_shell.cmd -mingw32 )


pacman -Sy

pacman -S mingw32/mingw-w64-i686-ktexteditor-qt5

pacman -S mingw32/mingw-w64-i686-cmake 

pacman -S mingw32/mingw-w64-i686-extra-cmake-modules

pacman -S mingw32/mingw-w64-i686-gcc

pacman -S mingw32/mingw-w64-i686-kate

pacman -S mc

pacman -S mingw32/mingw-w64-i686-python

pacman -S mingw32/mingw-w64-i686-python-pyqt5

Arch Linux

boot

menuentry "Install Arch Linux" {
        # set label="start"
        set device="/dev/..."
        set isofile="/archlinux/archlinux-2022.12.01-x86_64.iso"
        loopback loop $isofile
        # linux (loop)/arch/boot/x86_64/vmlinuz-linux img_label=$label img_loop=$isofile earlymodules=loop
        linux (loop)/arch/boot/x86_64/vmlinuz-linux img_dev=$device img_loop=$isofile earlymodules=loop
        initrd (loop)/arch/boot/intel-ucode.img
        initrd (loop)/arch/boot/amd-ucode.img
        initrd (loop)/arch/boot/x86_64/initramfs-linux.img
}
menuentry "System Rescue CD 9.0.6 (64-bit)" {
        linux /sysrcd-9.0.6/vmlinuz archisolabel=start archisobasedir=sysrcd-9.0.6 copytoram
        # archisodevice=/dev/...
        initrd /sysrcd-9.0.6/intel_ucode.img /sysrcd-9.0.6/amd_ucode.img /sysrcd-9.0.6/sysresccd.img

        # files:
        #   x86_64/airootfs.sfs
        #   x86_64/airootfs.sha512
        #   amd_ucode.img
        #   intel_ucode.img
        #   sysresccd.img
        #   VERSION
        #   vmlinuz
}

mkfs

mkfs.ext4 /dev/... -L archlinux

mount

mount /dev/... /mnt

mkdir -p /mnt/boot/efi
mount /dev/... /mnt/boot/efi

mirrorlist

cat > /etc/pacman.d/mirrorlist << 'EOF'
Server = http://ftp.linux.cz/pub/linux/arch/$repo/os/$arch
Server = http://ftp.fi.muni.cz/pub/linux/arch/$repo/os/$arch
Server = http://ftp.uni-hannover.de/archlinux/$repo/os/$arch
EOF
# 'EOF' ... single quotes ... no variable substitution

wifi - iwctl

station list
station wlan0 connect inet

wifi - nmcli

nmcli device wifi connect ...network... password "...password..."

pacstrap

PACKAGES=""
PACKAGES="$PACKAGES base linux linux-firmware linux-headers"
PACKAGES="$PACKAGES mc sudo networkmanager"
PACKAGES="$PACKAGES grub efibootmgr"
PACKAGES="$PACKAGES xorg-server xorg-xinit xorg-drivers xorg-twm xterm mate mate-extra network-manager-applet"
PACKAGES="$PACKAGES openssh"
PACKAGES="$PACKAGES firefox"
PACKAGES="$PACKAGES man"

pacstrap /mnt $PACKAGES

https://wiki.archlinux.org/title/Pacman/Package_signing

https://man.archlinux.org/man/pacman.conf.5#PACKAGE_AND_DATABASE_SIGNATURE_CHECKING

/etc/pacman.conf [options] SigLevel = Never

fstab

genfstab -U /mnt >> /mnt/etc/fstab

echo "UUID=... /boot/efi auto defaults 0 0" >> /mnt/etc/fstab

arch-chroot /mnt

time

ln -sf /usr/share/zoneinfo/Europe/Prague /etc/localtime
hwclock --systohc

locale

# edit /etc/locale.gen and uncomment en_US.UTF-8 UTF-8
locale-gen

passwd

passwd

mkinitcpio

mkinitcpio -P

nebo

pacman -S linux

local grub

echo "GRUB_DISABLE_OS_PROBER=true" >> /etc/default/grub
# or edit /etc/grub.d/30_os-prober

grub-install --force /dev/...

mkdir -p /boot/efi
mount /dev/... /boot/efi
grub-install --target=x86_64-efi --efi-dir=/boot/efi --bootloader-id=ArchLinux

network

systemctl start NetworkManager
systemctl enable NetworkManager

packages

pacman -Syyu
# yy ... refresh repositories

pacman -S plocate
updatedb

startx mate

FILE="/etc/X11/xinit/xinitrc.d/80-mate.sh"
echo "exec mate-session" > $FILE
chmod +x $FILE

desktop

pacman -S gnome gnome-extra
pacman -S mate mate-extra
pacman -S xfce4 xfce4-goodies
pacman -S lxqt pcmanfm-qt

pacman -S sddm
pacman -S gdm

pacman -S pipewire

.xinitrc

exec mate-session
# exec startxfce4
# exec lxqt-session
# exec xterm
# exec twm
systemctl start gdm
or
systemctl start sddm

Debian

https://www.debian.org/releases/stable/amd64/apds03.en.html

https://www.debian.org/releases/bookworm/amd64/apds03.en.html

https://www.debian.org/releases/bullseye/amd64/apds03.en.html

https://www.debian.org/releases/buster/amd64/apds03.en.html

https://www.debian.org/releases/stretch/amd64/release-notes.en.txt

ROOT_DIR="/mnt/..."
DEBIAN_URL="http://ftp.cz.debian.org/debian"

# pacman -S debootstrap

PACKAGES="mc"
PACKAGES="$PACKAGES,linux-image-amd64"
PACKAGES="$PACKAGES,linux-headers-amd64"
PACKAGES="$PACKAGES,grub-pc"

PACKAGES="$PACKAGES,task-mate-desktop"
PACKAGES="$PACKAGES,firefox-esr"

# PACKAGES="$PACKAGES libreoffice"

PACKAGES="$PACKAGES,kate"
PACKAGES="$PACKAGES,kompare"
PACKAGES="$PACKAGES,meld"

PACKAGES="$PACKAGES,kdevelop,kdevelop-dev"
PACKAGES="$PACKAGES,qtcreator"

PACKAGES="$PACKAGES,build-essential"
PACKAGES="$PACKAGES,automake,binutils-dev,libltdl-dev"
PACKAGES="$PACKAGES,libgtk2.0-dev,libgtk-3-dev"
PACKAGES="$PACKAGES,qtbase5-dev"
PACKAGES="$PACKAGES,python3-pyqt5"
PACKAGES="$PACKAGES,python3-pyqt5.qtwebengine"

if true ; then

debootstrap --arch=amd64 --include=$PACKAGES bookworm $ROOT_DIR $DEBIAN_URL

genfstab -U $ROOT_DIR >> $ROOT_DIR/etc/fstab

echo "allow-hotplug enp7s0" >> $ROOT_DIR/etc/network/interfaces
echo "iface enp7s0 inet dhcp" >> $ROOT_DIR/etc/network/interfaces

fi

cp start-debian.sh $ROOT_DIR
chroot $ROOT_DIR /bin/bash start-debian.sh
debootstrap --arch=i386 --include mc,grub,kernel-image-2.4.16-386 woody /mnt/other
debootstrap --arch=i386 --include mc,grub,kernel-image-2.6.8-4-686 sarge /mnt/other

Antix

http://github.com/antiX-Linux/cli-installer-antix/blob/master/cli-installer

http://antixlinux.com/forum-archive/solved-new-to-window-managers-how-do-i-select-them-t1097.html

https://bugs.freedesktop.org/show_bug.cgi?id=96441

Notebook video=SVIDEO-1:d

update-initramfs -u -t

Fedora

#!/bin/sh

RELEASE_VER=39
# KEY_DIR="..../etc/pki/rpm-gpg"
KEY_DIR="keys"
# ROOT_DIR="root"
ROOT_DIR="/mnt/..."
FROM_DIR="/mnt/.../install/fedora39"

# pacman -S dnf ;)
# https://glacion.com/2019/06/16/Fedora.html
# https://glacion.com/2021/02/01/Fedora.html

# ---------------------------------------------------------------------------

PACKAGES=""
PACKAGES="$PACKAGES @admin-tools"
PACKAGES="$PACKAGES @base-x"
PACKAGES="$PACKAGES @core"
PACKAGES="$PACKAGES @dial-up"
PACKAGES="$PACKAGES @fonts"
PACKAGES="$PACKAGES @guest-desktop-agents"
PACKAGES="$PACKAGES @hardware-support"
PACKAGES="$PACKAGES @input-methods"
PACKAGES="$PACKAGES @multimedia"
PACKAGES="$PACKAGES @networkmanager-submodules"
PACKAGES="$PACKAGES @printing"
PACKAGES="$PACKAGES @standard"

PACKAGES="$PACKAGES @mate-desktop-environment"
PACKAGES="$PACKAGES @mate-desktop"

PACKAGES="$PACKAGES @firefox"
PACKAGES="$PACKAGES mc"
PACKAGES="$PACKAGES grub2-pc"

# ---------------------------------------------------------------------------

# PACKAGES="@standard kernel-core mc grub2-pc"

# ---------------------------------------------------------------------------

# OPTIONS="--setopt=install_weak_deps=False --nodocs"

# PACKAGES=""
# PACKAGES="$PACKAGES systemd dnf glibc-langpack-en passwd rtkit policycoreutils"
# PACKAGES="$PACKAGES NetworkManager audit firewalld selinux-policy-targeted kbd sudo"
# PACKAGES="$PACKAGES vim-minimal systemd-udev rootfiles less iputils deltarpm sqlite"

# ---------------------------------------------------------------------------

FROM_ABS_DIR=`cd $FROM_DIR; pwd`
REPO_SPEC="file://$FROM_ABS_DIR"

mkdir -p $ROOT_DIR
ROOT_ABS_DIR=`cd $ROOT_DIR; pwd`

mkdir -p $ROOT_DIR/etc
mkdir -p $ROOT_DIR/etc/yum.repos.d # empty directory, prevent using global /etc/yum.repos.d

rpmkeys --root=$ROOT_ABS_DIR --import $KEY_DIR/*$RELEASE_VER*

dnf install --installroot=$ROOT_ABS_DIR --repofrompath abc,$REPO_SPEC --releasever=$RELEASE_VER $OPTIONS $PACKAGES


# ---------------------------------------------------------------------------

systemd-firstboot \
   --root=$ROOT_DIR \
   --locale=en_US.UTF-8 \
   --timezone=Europe/Prague \
   --keymap=us \
   --hostname=pc \
   --setup-machine-id

genfstab -U $ROOT_DIR >> $ROOT_DIR/etc/fstab

cp start.sh $ROOT_DIR
systemd-nspawn -D $ROOT_DIR /bin/sh start.sh

# Chroot without booting and add an user
# systemd-nspawn -D $ROOT_DIR

# Boot the system as a container
# systemd-nspawn -b -D $ROOT_DIR

Boot: linux … root=/dev/sdXY ro selinux=0

menuentry "Fedora 39" {
    set root=(hdX,Y)
    linux  /boot/vmlinuz-6.5.6-300.fc39.x86_64 root=/dev/sdXY ro quiet selinux=0
    initrd /boot/initramfs-6.5.6-300.fc39.x86_64.img
}
DOWNLOAD_DIR="download"
REPO="http://ftp.linux.cz/pub/linux/fedora/linux/releases/39/Everything/x86_64/os"

dnf install \
    --releasever=39 \
    --repofrompath abc,$REPO \
    --nogpgcheck \
    --downloadonly \
    --downloaddir=$DOWNLOAD_DIR \
    $PACKAGES