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. ======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 ===== 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 =====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 [[http://github.com/dracutdevs/dracut/blob/master/modules.d/90dmsquash-live/iso-scan.sh|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 ) [[http://github.com/archlinux/mkinitcpio-archiso/blob/master/hooks/archiso#L177|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 ) [[http://git.launchpad.net/casper/tree/scripts/casper#n59|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 [[http://salsa.debian.org/live-team/live-boot/-/blob/master/components/9990-misc-helpers.sh#L104|fromiso=]] ===== Slax ===== http://www.slax.org/starting.php [[https://github.com/Tomas-M/linux-live/blob/master/livekitlib#L598|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 [[https://github.com/dracutdevs/dracut/blob/master/modules.d/90dmsquash-live/parse-iso-scan.sh#L5|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