Files
BarotraumaLuaProjects/atlas_os/tools/generate_init_fs.lua
SlavaVlad a67a8a40f3 update memory
Написал алгоритм сжатия совместимый с UTF-8. Не очень эффективный, экономит 10-15% на тексте.
Добавил генератор стартовой памяти, убран хардкод из MMC
2026-06-14 04:13:57 +03:00

141 lines
2.9 KiB
Lua
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- generate_init_fs.lua
-- Генерирует начальный образ SEG0 с man-страницами в /etc/man/
-- Использует экспортированное FS API из MMC.lua
-- Запуск: lua tools/generate_init_fs.lua > tools/init.amem
local base = arg and arg[0] and arg[0]:match("(.+)/") or "."
dofile(base .. "/../MMC.lua")
FS.init()
FS.addUser(0, "root", 0, "/", "-")
FS.addUser(100, "captain", 10, "/home/captain", "-")
FS.mkdir("/home", "755", 0, 0)
FS.mkdir("/home/captain", "700", 100, 10)
FS.mkfile("/home/captain/readme.txt", "Welcome to AtlasOS v2.0!\n", "644", 100, 10)
FS.mkdir("/etc", "755", 0, 0)
FS.mkdir("/etc/man", "755", 0, 0)
FS.mkfile("/etc/man/help", [[NAME
help - display help information
SYNOPSIS
help
DESCRIPTION
Show a list of all available commands with their usage
and description.
]], "644", 0, 0)
FS.mkfile("/etc/man/echo", [[NAME
echo - display a line of text
SYNOPSIS
echo <text>
DESCRIPTION
Write the given text to the terminal output.
]], "644", 0, 0)
FS.mkfile("/etc/man/clear", [[NAME
clear - clear the terminal screen
SYNOPSIS
clear
DESCRIPTION
Clear all text from the terminal display.
]], "644", 0, 0)
FS.mkfile("/etc/man/color", [[NAME
color - set terminal text color
SYNOPSIS
color <R> <G> <B>
DESCRIPTION
Change the text color for subsequent output.
Each value must be 0-255 (red, green, blue).
]], "644", 0, 0)
FS.mkfile("/etc/man/status", [[NAME
status - show system status
SYNOPSIS
status
DESCRIPTION
Display system information including current user,
working directory, and memory usage.
]], "644", 0, 0)
FS.mkfile("/etc/man/ls", [[NAME
ls - list directory contents
SYNOPSIS
ls [-la] [path]
DESCRIPTION
List contents of a directory. If no path is given,
list the current directory.
OPTIONS
-a Include hidden entries (. and ..)
-l Long format (detailed listing)
]], "644", 0, 0)
FS.mkfile("/etc/man/cat", [[NAME
cat - concatenate and display files
SYNOPSIS
cat <path>
DESCRIPTION
Read a file and display its contents on the terminal.
]], "644", 0, 0)
FS.mkfile("/etc/man/cd", [[NAME
cd - change the working directory
SYNOPSIS
cd [path]
DESCRIPTION
Change the current working directory. If no path
is given, go to root (/). Supports both absolute
and relative paths.
]], "644", 0, 0)
FS.mkfile("/etc/man/stat", [[NAME
stat - show file metadata
SYNOPSIS
stat <path>
DESCRIPTION
Display metadata for a file or directory, including
inode number, type, permissions, owner, group, size,
and modification time.
]], "644", 0, 0)
FS.mkfile("/etc/man/man", [[NAME
man - display manual page
SYNOPSIS
man <command>
DESCRIPTION
Display the manual page for a command. Manual pages
are stored in /etc/man/.
EXAMPLE
man ls
man cat
SEE ALSO
help
]], "644", 0, 0)
print(FS.serialize())