From 1ae2ee439795951fec9667bcc8e2663ce9c203b4 Mon Sep 17 00:00:00 2001 From: crt Date: Mon, 15 Apr 2024 00:10:20 +0200 Subject: [PATCH] updated guided and first test --- README.md | 37 +++++++++++++++++++++-- installation/README.md | 67 ++++++++++++++++------------------------- linux-schizos/README | 2 ++ linux-schizos/Schizo.md | 45 +++++++++++++++++++++++++-- 4 files changed, 105 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index 60a1985f8..5229e4973 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,35 @@ -# SchizOS project files -This is so pre alpha im not even going to publish it +# SchizOS, Making Linux painfull to use because who even needs ext4 (bloat allert) +This is all to be taken with humor and irony, it is very much not finished and to be taken as a joke. + +## For who is this ? + +Do you ever find yourself enjoying life too much? +Don't you just hate it when you can USE your Linux installation without recompiling the kernel every picosecond? +Do you hate yourself very very much ? +Do you suffer from sever schizophrenia? + +THEN THIS IS FOR YOU!!! + +With SchizOS you will experience suffer and agony (alot) at the added benefit of (barely) anything + +## What is it? +SchizOS is a guide I've made that uses the "make localmodconfig / make localyesconfig" targets of kernel.org Loonix Kernel to give you a kernel that only supports what you are using. +Making your own kernel from nothing is PAINFULL, so why not use the work of others to make it MORE PAINFULL + +This repository contains the things you need to make your own SCHIZO KERNEL !!! + +It will only have the features currently loaded on your running system and is therefore very bloat free and "safe" from hackers (and yourself) because it cant do anything you werent doing before (or you are trying to do) + +Examples : +- Want to mount your ext4 hard drive ? + - No you cant ! First recompile the kernel to support that +- Wish to run an app thats an APP(BLOAT)IMAGE? + - Ewww you vial pig + - No you cant because you dont have that in your kernel bahahahaha +- Do you like networking with WIFI ? + - THE THREE LETTER AGENCIES WILL SEE ALL YOU DATA DONT USE WIFI ITS NOT SAFE THEY ARE WATCHING I CAN SEE THEM PLEASE SEND ME HELP + - Kernel RECOMPILING TIME BECAUSE YOUR NETWORK CARD DOESNT WORK RIGHT + +## You actually want to do this to yourself ? +If so go the the installation directory in this Repository + diff --git a/installation/README.md b/installation/README.md index be80ca2b4..d8f3f645d 100644 --- a/installation/README.md +++ b/installation/README.md @@ -1,35 +1,36 @@ -# Install guide for myself lol +# Example Installation Guide +I went with the fine choice of using Artix with the dinit system as a base a. Because I dont feel like making my own ISO yet and b. Because I am definetly not maintaining my own Linux repo for pacman -## based on artix -I am not ready to make my own iso and fully own repos so we be using artix and aur as a base +## Boot Artix ISO +For now this guide is only for UEFI systems, just go and follow the Artix Base Install steps if you run a Legacy system -## From Artix ISO -For now ive used runit which is a bit flawed as i heard so ill try and move to dinit or some other widely supported thing aslong as it aint systemd -Also this guide only for uefi systems for now - -### Load us keyboard layout because thats what i use +### Load US keyboard layout loadkeys us -### Partition disk using fdisk +### Partition disk using fdisk or whatever you preffer fdisk /dev/whatever -kernel doesnt support many filesystems so btrfs and fat for efi -make sure to label em correctly and stuff -also add big boy swap partition because i preferably want hibernation +Make 3 Partitions : 1 EFI a 128MB-512MB, 1 SWAP (I usually just use twice the size of my physical RAM), 1 for your data (or more if you wish to mount home on something else) -### format partitions +### Format partitions #### data partition mkfs.btrfs -L DATA /dev/whateverp2 +It is planned to have that drive encrypted so glowies cant access you data over 5G waves + #### efi mkfs.fat -F 32 /dev/whateverp1 fatlabel /dev/whateverp1 ESP +i love fatlabel command, reminds me of your mom + #### get disk uuids sudo blkid +hahah blkid sounds like ... actually nevermind im not going to cancell myself that badly for a joke + #### mount stuff swapon /dev/disk/by-uuid/swapuuid @@ -39,35 +40,22 @@ mkdir /mnt/boot/efi mount /dev/disk/by-uuid/datauuid #### connect to internets -since most likely im stuck with using wifi just use iwctl, otherwise use you phone as usb modem or ethernet +plug in ethernet or use iwctl for wifi ping init7.net #### update systems rtc - rc-service ntpd start -or - sv up ntpd -or - s6-rc -u change ntpd -or dinitctl start ntpd #### base install - basestrap /mnt base base-devel openrc elogind-openrc -or - basestrap /mnt base base-devel runit elogind-runit -or - basestrap /mnt base base-devel s6-base elogind-s6 -or - basestrap /mnt base base-devel dinit elogind-dinit +basestrap /mnt base base-devel dinit elogind-dinit then because artix is autistic and goofy do this basestrap -i /mnt base -#### install a preexisting kernel so we have one to finish the installation and rely on to not be broken like mine +#### install a preexisting kernel so we have one to finish the installation and rely on to not be broken like schizokernel basestrap /mnt linux-zen linux-zen-headers linux-firmware #### copy existing fstabber to installation - fstabgen -U /mnt >> /mnt/etc/fstab #### chroot into installtion @@ -96,7 +84,7 @@ export LC_ALL="C" export LC_CTYPE=en_US.UTF-8 #### boot loader -for now grub even though id prefer to use elilo (will add later to guide) +for now grub even though id prefer to use elilo or direct efi booting (will add later to guide) pacman -S grub os-prober efibootmgr grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=schizOS @@ -110,7 +98,6 @@ pacman -S sudo EDITOR=nano visudo make changes lol useradd -m -g users -G wheel -s /bin/bash crt -add him to em all groups needed : power audio input video users avahi colord wheel passwd crt #### set hostname @@ -123,17 +110,15 @@ nano etc/conf.d/hostname #### netowrk stuff -pacman -S dhclient iwd networkmananger modemmanager -(add you service files stuff too : example; networkmanager-s6) -and enable ofcourse -rc-update add NetworkManager -or -ln -s /etc/runit/sv/NetworkManager /etc/runit/runsvdir/default -or -touch /etc/s6/adminsv/default/contents.d/NetworkManager -s6-db-reload -or +pacman -S dhclient iwd networkmananger networkmanager-dinit modemmanager ln -s ../NetworkManager /etc/dinit.d/boot.d/ +#### change silly name to schizos +nano /etc/os-release +nano /etc/lsb-release ### done with base install +Now basically use the system as normal till you have everything you need installed +Now open all the applications you will need and also establish all network connections you need + +Then go and make silly kernel that only supports what you need by going to the linux-schizos folder diff --git a/linux-schizos/README b/linux-schizos/README index 669ac7c32..10fa356b6 100644 --- a/linux-schizos/README +++ b/linux-schizos/README @@ -1,5 +1,7 @@ Linux kernel ============ +Go to Schizo.md for guide +This is just the barebones linux kernel with some in progess stuff of mine There are several guides for kernel developers and users. These guides can be rendered in a number of formats, like HTML and PDF. Please read diff --git a/linux-schizos/Schizo.md b/linux-schizos/Schizo.md index f704655f7..41510c549 100644 --- a/linux-schizos/Schizo.md +++ b/linux-schizos/Schizo.md @@ -1,9 +1,48 @@ -make -j$(nproc) -sudo make modules_install +# Making your horrible kernel + +If you want to actually daily drive this but you are not ready to spend hours trying to figure out what feature is missing no worries theres a way thats not as painfull as recompiling it 50 times not knowing what feature is missing + +## Make your schizo kernel + +### Change version name in Kconfig +Add whatever suffix you want to it, i went with schizos + +### Make a localconfig +I recommend doing : make localmodconfig +This will make a config that includes everything that is currently in use on your system +This however makes things as loadable modules and not embedded in your kernel allowing the system to call for modules when they are needed and only then, if youre feeling real schizophrenic do : make localyesconfig +This will embed all currently loaded features in your kernel making it impossible for 3 letter agencies to install their spyware (that is if you disable loadable modules support doe) + +### Build kernel +If your current kernel is older than the one downloaded from kernel.org do this : make olddefconfig +This will set any unset parameters to their default parameter (mostly no) so you should be fine +After that do this to build kernel : make -j$(nproc) + +### Install modules +If you build modules they have to be installed obviously with : sudo make modules_install + +### Install headers so shit software like virtualbox works +sudo make header_install + +### Install bootable images, configs, maps and ram dick into boot drive sudo make headers_install INSTALL_HDR_PATH=/usr/src/linux-schizos sudo install -Dm644 arch/x86_64/boot/bzImage /boot/vmlinuz-linux-schizos sudo install -Dm644 .config /boot/config-schizos sudo install -Dm644 System.map /boot/System.map-schizos + +### Make initcpusdaoisjdfoiasjdoidshfisuhgsauihf sudo mkinitcpio -k 6.8.5schizos -g /boot/initramfs-linux-schizos.img -yay -S linux-firmware + +### Ram linux-firmware into kernel (basically lazy way of updating all initcpios because im stupid lol +sudo pacman -S linux-firmware + +### Update Grub sudo update-grub + + +## Adding features to your kernel the lazy way +Oh no you encountered a feature not present in your kernel ??? +Just boot your linux machien with the other kernel and make a localmod config, compare what features are newly added and add those in your make menuconfig + +## Adding features to your kernel the painfull way +Just poke and stab at make menuconfig till you find what makes shit work