1. Linux Distros history (about 600 linux distros in the world)
https://www.linux-distros.com/the-history-of-linux/
2. My Linux Distros
myos.iso (28MB, 2024.8.12) : kernel-6.6.37, rootfs
DenOS-1.0.iso (449 MB, 2024.8.26) : kernel, rootfs, packages
debian-custom.iso (676 MB, 2024.8.29) : kernel, rootfs, packages
debian-custom1.iso (333 MB, 2024.8.29) : kernel, rootfs, packages
eznixOS12K-240901-amd64.hybrid.iso (2.5GB, 2024.9.1) : kernel, rootfs, packages
3. How to make a bootable Linux USB
How to make Linux Bootable off a USB Stick (Live USB)
4. How to make a Linux Distro
https://idalko.com/build-linux-distribution/
https://www.baeldung.com/linux/make-your-distribution
https://fosspost.org/create-linux-distribution-based-on-ubuntu
Boot Process
https://youtu.be/rmgla4yeCXw?si=vFxi4TURN5S-3LlY
https://www.freecodecamp.org/news/linux-boot-process-in-rhel/
4.1. (Linux) bootloader (lilo, grub, syslinux/extlinux) -> compiled kernel (gcc, buildroot) -> root file system = rootfs (buildroot, debootstrap) -> kernel init (init, systemd) -> kernel, rootfs test (qemu-system-x86_64) -> package manager (apt, apt-get, aptitude, snap (closed source), flatpak (open source), dnf, yum, ...) -> make iso
4.2. (Embedded Linux) bootloader (u-boot, syslinux/extlinux) -> compiled kernel (buildroot, yocto) -> root file system = rootfs (buildroot, busybox, yocto) -> kernel init (init) -> kernel, rootfs test (qemu-system-x86_64) -> package manager (apk) : (ex) Alpine Linux (busybox + apk, docker-container)
4.3. Making Minimal Linux Distro
===============================
kernel compile
=======================
https://phoenixnap.com/kb/build-linux-kernel
------------------------------------
make menuconfig
https://www.kernelconfig.io/config_fb_efi
cp -v /boot/config-$(uname -r) .config
make
=======================
kernel compile + rootfs + kernel init + kernel, rootfs test
=======================
https://youtu.be/ey3sKdOmPa8?si=WgAYeMTb4asHavER
------------------------------------
sudo apt update
sudo apt install qemu-system
qemu-system-x86_64 -hda boot.img -kernel ./buildroot-2024.02.4/output/images/bzImage -append "root=/dev/sda "
=======================
------------------------------------
wget https://buildroot.org/downloads/buildroot-2024.02.4.tar.gz
tar -xvf buildroot-2024.02.4.tar.gz
cd buildroot-2024.02.4
sudo apt-get update
sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison
make menuconfig
make linux-menuconfig
make
scripts/config --disable SYSTEM_TRUSTED_KEYS
scripts/config --disable SYSTEM_REVOCATION_KEYS
cd output/images
cp bzImage ~
rm bzImage
cp rootfs.tar ~
tar xvf rootfs.tar
rm rootfs.tar
rm linuxrc
sudo apt install vim
vim init
------------------------------------
#!/bin/sh
mount -t devtmpfs none /dev
mount -t proc none /proc
mount -t sysfs none /sys
echo "Welcome to my Linux!"
exec /bin/sh
------------------------------------
chmod +x init
find . -print0 | cpio --null -ov --format=newc | gzip -9 > ../initramfs.cpio.gz
cd ..
cp initramfs.cpio.gz ~
cd ~
------------------------------------
sudo apt update
sudo apt install qemu-system
qemu-system-x86_64 -kernel bzImage -initrd initramfs.cpio.gz
=======================
https://byeo.tistory.com/entry/Linux-Kernel-Compile-QEMU-%ED%85%8C%EC%8A%A4%ED%8A%B8
------------------------------------
sudo su
apt install debootstrap
mkdir mnt && cd mnt
debootstrap jammy .
cp /etc/passwd etc/
apt install vim
vim etc/passwd
------------------------------------
mint::500:500:/home/mint:/bin/bash
------------------------------------
cd ..
dd if=/dev/null of=disk.img bs=1M seek=4096
mkfs.ext4 -F disk.img
mkdir m/
mount -t ext4 -o loop disk.img m/
cp -R mnt/* m
umount m
------------------------------------
qemu-system-x86_64 -kernel bzImage -drive file=disk.img,format=raw -append "root=/dev/sda rw console=ttyS0"
-nographic
==============================
kernel compile + rootfs + kernel init + kernel, rootfs test + package (apt, ...)
=======================
https://www.youtube.com/watch?v=au3IapBlbyo
https://mvallim.github.io/live-custom-ubuntu-from-scratch/
https://www.willhaley.com/blog/custom-debian-live-environment/
https://www.willhaley.com/blog/custom-debian-live-environment-grub-only/
https://dev.to/otomato_io/how-to-create-custom-debian-based-iso-4g37
https://sourceforge.net/projects/eznixos/
------------------------------------
sudo apt update
sudo apt install qemu-system
qemu-system-x86_64 -boot d -cdrom DenOS-1.0.iso -m 512
==============================
4.4. References
kernel compile
https://phoenixnap.com/kb/build-linux-kernel
kernel compile with buildroot
https://www.youtube.com/watch?v=ey3sKdOmPa8
rootfs with busybox
https://youtu.be/asnXWOUKhTA?si=mGb7VDoHP8r7RMp7
package with debootstrap
https://youtu.be/L_r3z3402do?si=VkNxW80s5i7EPwyG
https://www.youtube.com/watch?v=MguYSubW368
https://gist.github.com/ravecat/63a0d49014b6187bebc68cf855d55a83
https://www.youtube.com/watch?v=x_MT1N8GAJQ
https://ivanb.neocities.org/blogs/y2022/debootstrap
https://mvallim.github.io/kubernetes-under-the-hood/documentation/create-linux-image.html
https://github.com/mvallim/live-custom-ubuntu-from-scratch
https://youtu.be/au3IapBlbyo?si=SCS5gK4ZKC8bKyag
legacy BIOS to UEFI
https://blog.getreu.net/projects/legacy-to-uefi-boot/
https://askubuntu.com/questions/625286/how-to-create-uefi-bootable-iso
https://www.linuxbabe.com/command-line/how-to-use-linux-efibootmgr-examples
bootloader grub2
https://github.com/adi1090x/uGRUB
https://github.com/ndeineko/grub2-bios-uefi-usb
https://www.youtube.com/watch?v=zZcjY9oNbik
etc
https://gist.github.com/ishad0w/788555191c7037e249a439542c53e170
https://gist.github.com/hakerdefo/5e1f51fa93ff37871b9ff738b05ba30f
https://snapshooter.com/blog/how-to-clone-your-linux-harddrive-with-dd
https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/
https://www.linuxmint.com/download.php
https://byeo.tistory.com/entry/Linux-Kernel-Compile-QEMU-%ED%85%8C%EC%8A%A4%ED%8A%B8
https://www.lesstif.com/lpt/linux-chrome-106857342.html
* Linux Distors file format
redhat : .rpm
Ubuntu, Debian: .deb
Solaris (.pkg)
Slackware (.tgz, .txz, .tbz, .tlz)
.msi (Microsoft Windows)
.apk (Android)
.ipa (IOS, IPadOS)
* repository
5. Howto Korean Language (Hangul)
Reboot
6. 가상환경에서 Jupyter, R, python, Pytorch 설치 방법, 2024.7
venv 에서 Jupyter, R, python, Pytorch 설치
virtualenv 에서 Jupyter, R, python, Pytorch 설치
miniconda 에서 Jupyter, R, python 설치
LLM 설치 및 anaconda에서 Jupyter, R, python 설치
7. 무료 LLM 서버 만드는 방법, 2024.6
8. Customized Pop!_OS의 Jupyter 에서 R 사용법
Customized Pop!_OS 의 terminal 에서
R
> IRkernel::installspec()
>q()
yes
jupyter notebook
9. References
Linux 2020 -
Yoon's App for android smartphone 2021