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
jor1k: OpenRISC OR1K Javascript Emulator https://s-macke.github.io/jor1k
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
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 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
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://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
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.
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/
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
/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-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
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/
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/
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
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)
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`
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
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
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
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
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
( rename offbeat to Offbeat, rename uzivatel-9 to <username>-9 )
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 }
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ě”
# 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'
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
# Resume=none mcedit /etc/initramfs-tools/conf.d/resume update-initramfs -u
/etc/apt/apt.conf.d/... APT::Keep-Downloaded-Packages "true";
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
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 }
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
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
# 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
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
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
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)
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
#!/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
# 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 }
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
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 }
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
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 }
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 )
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 )
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
http://www.slax.org/starting.php
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 }
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
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
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
https://www.python.org/ftp/python/3.7.4/python-3.7.4.exe
pip install PyQt5==5.12
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
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
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
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
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
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
#!/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