Compare commits

..

5 Commits

Author SHA1 Message Date
10c0b263e3 🏗️」 wip: wtf is going on 2025-09-10 13:14:18 +02:00
867ab49bba 🏗️」 wip: wtf am i doing 2025-09-09 13:32:43 +02:00
c7ada859b9 🏗️」 wip: started mounting setup 2025-09-08 22:54:56 +02:00
9f10aa353e 🏗️」 wip: started setup to build ft_linux 2025-09-08 16:34:13 +02:00
5df7213f0a 🏗️」 wip: work in progress, not done yet. 2025-09-08 14:45:35 +02:00
5 changed files with 145 additions and 6 deletions

5
Justfile Normal file
View File

@ -0,0 +1,5 @@
# Just list the options
@default:
just -l

91
TODO.md Normal file
View File

@ -0,0 +1,91 @@
- [ ] create virtual disk
- [ ] create partition
- [ ] make filesystem
- [ ] mount partition(ext4)
- [ ] root (30gb) (ext4) (/)
- [ ] swapppp (2gb) (swap)
- [ ] grub bios partition (1mb) (???)
- [ ] boot partition (500mb) (fat32) (/boot)
- [ ] import the sources
- [ ] create directory
- [ ] create user
- [ ] soft to install
- [ ] acl
- [ ] attr
- [ ] autoconf
- [ ] automake
- [ ] a shell (probably fish and bash in /bin/sh)
- [ ] bc
- [ ] binutils
- [ ] bison
- [ ] bzip2
- [ ] check
- [ ] coreutils
- [ ] dejaGNU
- [ ] diffutils
- [ ] eudev
- [ ] e2fsprogs
- [ ] expat
- [ ] expect
- [ ] file
- [ ] findutils
- [ ] flex
- [ ] gawk
- [ ] gcc
- [ ] gdbm
- [ ] gettext
- [ ] glibc
- [ ] GMP
- [ ] gperf
- [ ] grep
- [ ] groff
- [ ] GRUB
- [ ] gzip
- [ ] iana-etc
- [ ] inetutils
- [ ] iproute2
- [ ] kbd
- [ ] kmod
- [ ] less
- [ ] libcap
- [ ] libpipeline
- [ ] libtool
- [ ] m4
- [ ] make
- [ ] man-DB
- [ ] man-pages
- [ ] mpc
- [ ] mpfr
- [ ] ncurses
- [ ] patch
- [ ] perl
- [ ] pkg-config
- [ ] procps
- [ ] psmisc
- [ ] readline
- [ ] sed
- [ ] shadow
- [ ] sysklogd
- [ ] sysvinit
- [ ] tar
- [ ] tcl
- [ ] texinfo
- [ ] time zone data
- [ ] udev-lfs tarball
- [ ] a text editor (probably my nvim conf)
- [ ] xml::parser
- [ ] xz utils
- [ ] zlib
- [ ] optional but recommended
- [ ] wget and curl
- [ ] things to install screen
- [ ] bonus soft to install
- [ ] minishell
- [ ] webserv
- [ ] other 42 project
- [ ] pogit
- [ ] hyprland (f*ck x11)
- [ ] other random useless shit for fun

View File

@ -4,7 +4,7 @@
}; };
outputs = outputs =
inputs@{ nixpkgs, ... }: { nixpkgs, ... }:
let let
supportedSystems = [ supportedSystems = [
"x86_64-linux" "x86_64-linux"
@ -26,15 +26,34 @@
{ pkgs }: { pkgs }:
{ {
default = pkgs.mkShell { default = pkgs.mkShell {
nativeBuildInputs = with pkgs; [
];
hardeningDisable = [ "all" ]; hardeningDisable = [ "all" ];
packages = with pkgs; [ packages = with pkgs; [
nixfmt-rfc-style
bison
coreutils
diffutils
binutils
diffutils
findutils
gawk
gzip
m4
gnumake
patch
perl
python312
texinfo
xz
gcc gcc
clang clang
just
nixfmt-rfc-style
]; ];
shellHook = ''
export LFS=/mnt/lfs
umask 022
'';
}; };
} }
); );

9
src/mount.sh Normal file
View File

@ -0,0 +1,9 @@
#!/usr/bin/env bash
mkdir -pv "$LFS"
#mount -v -t ext4 /dev/
mkdir -pv "$LFS/boot"
chown root:root "$LFS"
chmod 755 "$LFS"

15
src/prep-dir.sh Normal file
View File

@ -0,0 +1,15 @@
#!/usr/bin/env bash
mkdir -p "$LFS/sources"
mkdir -pv $LFS/{etc,var} $LFS/usr/{bin,lib,sbin}
for i in bin lib sbin; do
ln -sv usr/$i "$LFS/$i"
done
case $(uname -m) in
x86_64) mkdir -pv "$LFS/lib64" ;;
esac
mkdir -pv "$LFS/tools"