ADDED build/doc Index: build/doc ================================================================== --- /dev/null +++ build/doc @@ -0,0 +1,43 @@ +AppBox + +Filesystem Layout + / (rootfs) + /system (ext2, ro) + /system/config (tmpfs, populated from configuration partition) + /system/proc (procfs) + /system/dev (tmpfs) + /system/apps// (not a mountpoint, scheme for system apps) + /data (ext3 or zfs) + /data/apps (not a mountpoint) + /data/apps// (not a mountpoint, scheme for installed apps) + /data/ (not a mountpoint, directory for app to manage) + /apps (not a mountpoint, just a directory) + /apps// (symlink to /data/apps/ or /system/apps/) + /apps//default (symlink to default version of app) + +Physical Disk Layout: + p1 (10MB): boot filesystem: kernel, initrd, extlinux: ext2 (not mounted) + p2 (2MB): config partition: header + tar + p3 (unknown): root filesystem: mounted on /system + p4 (unknown): data filesystem: mounted on /data + +config partition: + First 1024 bytes reserved for: + [32 bytes]: Magic: SHA256("AppBox Configuration Partition"): {0x1d, 0xaa, 0x45, 0x9b, 0x97, 0x72, 0xef, 0x5d, 0x7d, 0x58, 0xc8, 0x14, 0x45, 0x82, 0x46, 0xc6, 0x9d, 0xbd, 0x1d, 0x53, 0xfa, 0x75, 0xf3, 0x96, 0x46, 0x29, 0x10, 0x25, 0x0b, 0xf7, 0xa4, 0xb6} + [1 byte]: Offset index + [7 bytes]: Reserved + [8 bytes]: Offset #0 + [8 bytes]: Offset #1 + [968 bytes]: Reserved + Tar contents (needed for early boot, may include other files) + boot/modules/*.ko + boot/modules/load + fstab + hostname + apps/ + +initrd: + /init + /modules/*.ko + /modules/load + ADDED components/apps/appbox-core/upstream Index: components/apps/appbox-core/upstream ================================================================== --- /dev/null +++ components/apps/appbox-core/upstream @@ -0,0 +1,2 @@ +glibc +tclkit ADDED components/apps/appbox-gnu/upstream Index: components/apps/appbox-gnu/upstream ================================================================== --- /dev/null +++ components/apps/appbox-gnu/upstream @@ -0,0 +1,1 @@ +coreutils ADDED components/apps/appbox-web/upstream Index: components/apps/appbox-web/upstream ================================================================== --- /dev/null +++ components/apps/appbox-web/upstream @@ -0,0 +1,1 @@ +tclwebappframework ADDED components/init-earlyboot/functions Index: components/init-earlyboot/functions ================================================================== --- /dev/null +++ components/init-earlyboot/functions @@ -0,0 +1,10 @@ +1. Load kernel modules +2. Mount devfs +3. Locate config partition + -> If not found, mount "/system" as tmpfs and perform installation + -> Offer to install +4. Load more kernel modules +5. Mount /system (if needed) +6. Mount /system/config (tmpfs) and copy contents to it +7. Unmount devfs +8. Pass control to later boot's init