From 481fdc1a3c7411d1dba3c7fcbfc40b40110827e4 Mon Sep 17 00:00:00 2001 From: FreeArtMan Date: Sun, 28 Jun 2020 21:46:23 +0100 Subject: XOS --- md/notes/xos.md | 113 +++++++++++++++++++++++++++++++++++++++++++++++++ md/notes/xos/nmount.md | 4 ++ 2 files changed, 117 insertions(+) create mode 100644 md/notes/xos.md create mode 100644 md/notes/xos/nmount.md (limited to 'md') diff --git a/md/notes/xos.md b/md/notes/xos.md new file mode 100644 index 0000000..20ed149 --- /dev/null +++ b/md/notes/xos.md @@ -0,0 +1,113 @@ +title:XOS +keywords:linux,qemu,raspi,linux,x201,x230,x260 + +# XOS + + +## Intro + +XOS is X-os like Mac-OS but X-os. Idea behind the name is that main hardware +where its suppose to run is thinkpads X series. As I have few x201,x230 and +next upgrade is for x260 then thats the hardware. And its just one-man army +project then its enought. Also you can get x201 for sometime less then <100usd +then its not some kind of elitist 1000usd lappy people or some diy soldering +guru SoC project. So yes here is main thing anyone with some common lappy could +run it especially from those countries whom western-politicians call by 3rd world +countries. Yes 100USD is still big money for someone, but what could be cheaper +and still be some sensible and good hw. There is enought of thinkpad X series +fans soooo ... for sure there is alot of support and info around. + +## Mini projects + +| name | descr | +| --- | --- | +| [nmount](./xos/nmount.md) | mount alternative | + +## Philosophy + +Make it simple, make it portable, no dependencies, make it static. +Simple its about simple to use rather then make its so technicaly hard to use +that any alternative is better. Portable means works on any distro with compilcation +or without recompilation, anu distro means any version distro. No specific +version of distro should be supported, only thing is supported is kernel versions +and kernel features, dont care about libc or anything standart. +Static only static can combain all of that. MacOS and Windows have alot of programms +that just installs and works without downloading dependencies. So idea is same, +you download it and it works, no anything extra is needed. If you cant pack +workable binary for everyone then its your issue not user issue. + + +### Command line + +As usual core-utils and most of the tools lack of sensible options and some of +the tasks are hard to do with core-utils then thats should be fixed. All commands +should have good enought help, and help should be good enought that there is no +need for man pages. + +All commands are configurable and match in functionality if they have GUI. And +all commands are compatible with pipelining. There is few attempts from rust community +to do something like this for few utils. But more is needed to change general +expirience from using command line utils. One of the simplies example is ls. +Why i can in windows sort by any field I whant? Why I can just list files in dir, +I need to use "find ./". So there is alot of should change and be rethinked +how command line should work. Functionality should be as good as GUI tools, all +tools have common interfaces for piping without hacks, POSIX incompatability is the must now. + +### Manuals + +Man pages ... who reads them if there is better interface to search and view +information like google that points to man7.org or to api providers or documentation +of actual projects. Something like turbo pascal help would be nice to have, +and something like MacOS where there is enought docs without connecting to +internet. Internet is hostile place not all people have access to external +resource because of cenzorship or poor internet connection. + +### Services + +Each service should just run without any config files, if its doesnt work as +single binary it should be fixed. So when you start some http service it should +work and reply that if there is no interface then announce error, and where interface +appears then start working. Should be possible to run everything in any order, +no any kind of dependenices even they seams logical, it should have recovery state +and work. + +## Hardware + +All hardware from X series should work out of the box, there should be clear +and single way how to run all capabilites of hardware, all should be usable. +BT just works, cameras can play videos and all buttons on laptop are working. +All HW have defined tested profiles so everything is tested to work. + +## Languages + +C,Ocaml,Go + +C - as its universal portable language, where you can write API once and +reuse it from all other languages. All system interfaces should be written in it +as it allows to expse them to all other languages. + +Ocaml - anything that needs parsing or complex problems to solve. Good feature +is its compiles to static lib, all parsers and shells should be wriiten in it + +Go - standart library have everything that may be needed to communicate with +internet so its good language for that. + +Its good enought combo of languages to address all fields system programming, +parsing and internet technologies. + + +## GUI + +Probably GUI is never be the case for it, too much work needs to make GUI work, +one possible solutions is dwm style GUI or just qemu output display, or just remote +browser desktop so no real GUI implementation needed. And its sounds more +interesting and flexible to run. + +## Goals + +Get system booting, get ethernet working, get ip address and get irc client. +Thats would be nice goal to archive. Plan maximum is to get +some KVM load any distro and show virtual display, that will make possible distro +to run and never update and never brake anything. + +And on journey to those goals produce ar much as possible notes. diff --git a/md/notes/xos/nmount.md b/md/notes/xos/nmount.md new file mode 100644 index 0000000..7c3ed8d --- /dev/null +++ b/md/notes/xos/nmount.md @@ -0,0 +1,4 @@ +title:nmount - alternative mount +keywords:linux,qemu,mount.linux, + +# nmount - alternative mount \ No newline at end of file -- cgit v1.2.3