Compare commits

...

7 Commits
v1.0.0 ... main

Author SHA1 Message Date
justuser
28de93f85d Update README.md 2025-01-25 15:17:25 +00:00
justuser
9b1e86365b Замена самописного барахла на Busybox 2025-01-25 11:36:33 +03:00
justuser
e1f69cfd17 up 2025-01-25 11:28:52 +03:00
justuser
e6424c245b up 2025-01-25 11:25:21 +03:00
justuser
4248bf4f5b Улучшения сборки, небольшие изменения в коде 2025-01-25 11:24:37 +03:00
justuser
8535d05433 Изменение структуры, вырезание ассемблера, добавление работы с аргументами в shell.c 2025-01-24 23:39:14 +03:00
justuser
593c5051ac up 2025-01-24 17:13:37 +03:00
3704 changed files with 365360 additions and 70 deletions

View File

@ -1,4 +1,60 @@
# JustOS
### ОГЛАВЛЕНИЕ
1. Загрузка ресурсов и подготовка
2. Настройка ядра
3. Компиляция в ISO образ
Just OS, just work.
Based on Linux.
### 1. Загрузка ресурсов и подготовка
Вся сборка проводилась на последней версии Debian (Devuan) <br>
Процедура не требовательна к месту на диске/ОЗУ/CPU.
Загрузка ресурсов:
```
git clone https://gitea.del.pw/justuser/JustOS.git
cd justos
```
Установка зависимостей:
```
./install_requirements.sh
```
### 2. Настройка ядра
**Директория** - `linux-{ВЕРСИЯ}`
Запуск графической настройки:
```
make tinyconfig
make menuconfig
```
Включить "64-bit kernel"
Выбрать General setup <br>
Включить "Initial RAM filesystem and RAM disk (initramfs/initrd) support" <br>
Убрать все галочки с "Support initial ramdisks compressed using..."
Выбрать "Configure standard kernel features (expert users)" <br>
Включить "Enable support for printk" <br>
Выйти на главный уровень
Выбрать "Executable file formats / Emulations" <br>
Включить "Kernel support for ELF binaries" <br>
Выйти на главный уровень
Выбрать "Device Drivers" -> "Character devices" <br>
Включить "Enable TTY" <br>
Выйти и сохранить изменения
### 3. Компиляция в ISO образ
**Директория** - `linux-{ВЕРСИЯ}` <br>
Компиляция ядра с 4 потоками (больше - быстрее):
```
make -j 4
```
Сборка ISO:
```
make isoimage FDARGS="initrd=/init.cpio" FDINITRD="../progs/init.cpio"
```
Запуск ISO:
```
qemu-system-x86_64 -cdrom arch/x86/boot/image.iso
```

15
comp_run_iso.sh Executable file
View File

@ -0,0 +1,15 @@
back=$(pwd)
cd progs
# Add all files exclude `src`
find . -path "./src" -prune -o -print0 | cpio --null -H newc -o > init.cpio
cd $back
rm -rf linux-*/arch/x86/boot/image.iso
cd linux-*
#make isoimage FDARGS="initrd=/init.cpio" FDINITRD="../progs/init.cpio"
# \/ \/ Turn off system messages (very annoying)
make isoimage FDARGS="initrd=/init.cpio loglevel=0 quiet" FDINITRD="../progs/init.cpio"
qemu-system-x86_64 -cdrom arch/x86/boot/image.iso
cd $back

View File

@ -45,4 +45,5 @@ make -j 4
# Сборка ISO
make isoimage FDARGS="initrd=/init.cpio" FDINITRD="../progs/init.cpio"
# Запуск ISO
# -smp 1 - одно ядро, иначе сбивается время
qemu-system-x86_64 -cdrom arch/x86/boot/image.iso

1
progs/bin/arch Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/ash Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/base32 Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/base64 Symbolic link
View File

@ -0,0 +1 @@
busybox

BIN
progs/bin/busybox Executable file

Binary file not shown.

1
progs/bin/cat Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/chattr Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/chgrp Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/chmod Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/chown Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/conspy Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/cp Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/cpio Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/cttyhack Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/date Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/dd Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/df Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/dmesg Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/dnsdomainname Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/dumpkmap Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/echo Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/ed Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/egrep Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/false Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/fatattr Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/fdflush Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/fgrep Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/fsync Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/getopt Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/grep Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/gunzip Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/gzip Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/hostname Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/hush Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/ionice Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/iostat Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/ipcalc Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/kbd_mode Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/kill Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/link Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/linux32 Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/linux64 Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/ln Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/login Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/ls Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/lsattr Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/lzop Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/makemime Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/mkdir Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/mknod Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/mktemp Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/more Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/mount Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/mountpoint Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/mpstat Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/mt Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/mv Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/netstat Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/nice Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/pidof Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/ping Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/ping6 Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/pipe_progress Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/printenv Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/ps Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/pwd Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/reformime Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/resume Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/rev Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/rm Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/rmdir Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/rpm Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/run-parts Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/scriptreplay Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/sed Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/setarch Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/setpriv Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/setserial Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/sh Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/sleep Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/stat Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/stty Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/su Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/sync Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/tar Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/touch Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/true Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/umount Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/uname Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/usleep Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/vi Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/watch Symbolic link
View File

@ -0,0 +1 @@
busybox

1
progs/bin/zcat Symbolic link
View File

@ -0,0 +1 @@
busybox

View File

@ -1 +0,0 @@
init

Binary file not shown.

Binary file not shown.

1
progs/sbin/acpid Symbolic link
View File

@ -0,0 +1 @@
../bin/busybox

Some files were not shown because too many files have changed in this diff Show More