-
Notifications
You must be signed in to change notification settings - Fork 611
Open
Milestone
Description
I have created a milestione so we can start to focus on develop an initial public release. We can discuss here what things should be added. Please maintain the features to the minimal (it's a first release, after all), and just put here what the idea, but develop them in a new issue.
- update & improve documentation
- minimal system
- ramdisk root filesystem bundle (kernel + node binary packed in a ramdisk image)
- minit (minimal init for PID 1)
-
boot module (for starting dhcp/getty via asgard) -
asgard (to run as PID 2)Using forever-starter instead- getty replacement written in Node.js (for binding to
/dev/console
)
- getty replacement written in Node.js (for binding to
- multiuser (logon + filesystem permissions)
- OverlayFS-based root filesystem
- read-only ramdisk root filesystem
- network support
- enable/disable network interfaces
- static IPs
- command line tools
- npm
- nsh update
- text editor
- git client, maybe we can use gitlet
- The Big Red Button (script to build everything with just one command)
- generate images for all platforms at once
- prepare an empty file system
- install all system packages (download?)
- different UIDs & GIDs for each user home folder
- DevicesManager (
/dev
filesystem)
- DevicesManager (
-
/proc
accesible for everybody - fbdev
- Instalable distro
- Self-contained source code
- custom, minimal compiled kernel
- libraries
- Multiple architectures
- x86
- x86_64
- Multiple platforms
-
DockerUse Vagga, maybe with Docker compatibility - x86 QEmu
- x86_64 QEmu
-
- Run on hardware
- kernel & initramfs in rootfs images
- GRUB image (instalable by hand with
dd
and/orcp
/script)
- Self-contained source code
- no binary executables (only libraries bindings, executables are only Node.js programs)
- replace
/usr/bin/env
with Javascript alternative (function? NODE_PATH? patched kernel? script with hard-coded she-bang?)
- replace
Minor tasks:
- Read kernel arguments from /proc (root and home)
- Allow logon to create new users
- Move root home to usersfs
- Make usersfs ownership to root
- Mount rootfs as read-only