@@ -10,25 +10,37 @@ The architecure is inspired by the Android operating system for smartphones:
1010- 'everything is an app' idea
1111- making it as simple as possible for developers to build new apps
1212
13+ ##Installation
14+
15+ Seehttps://install.MicroPythonOS.com
16+
1317##Apps
1418
1519The operating system comes with a few apps built-in that are necessary to bootstrap:
1620- launcher: to be able to start apps
1721- wificonf: to be able to connect to the wifi
1822- appstore: to be able to download and install new apps
19-
20- Furthermore, these apps are also built-in for convenience:
2123- osupdate: to download and install operating system updates
22- - camera: to take pictures and videos
23- - imutest: to test the Inertial Measurement Unit (accelerometer)
24+
25+ Other apps are available in the AppStore.
26+
27+ Seehttps://apps.MicroPythonOS.com/
2428
2529##Supported hardware
2630
27- - https://www.waveshare.com/wiki/ESP32-S3-Touch-LCD-2
31+ ###ESP32 computers
32+ - https://www.waveshare.com/wiki/ESP32-S3-Touch-LCD-2
33+
34+ ###Desktop computers
35+ - Linux desktop (uses SDL)
36+ - MacOS should work. Untested.
37+
38+ ###Raspberry Pi
39+ - Should work, especially if it's running a Linux desktop like Raspbian. Untested.
2840
2941##Architecture
3042
31- - boot.py: initializes the hardware
43+ - boot.py: initializes the hardware on ESP32 / boot_unix.py: initializes the hardware on linux desktop
3244- main.py: initializes the User Interface, contains helper functions for apps, and starts the launcher app
3345
3446##Filesystem layout:
@@ -41,52 +53,59 @@ Furthermore, these apps are also built-in for convenience:
4153- /builtin/: read-only filesystem that's compiled in and mounted at boot by main.py
4254- /builtin/apps: apps that are builtin and necessary for minimal facilities (launcher, wificonf, appstore etc)
4355- /builtin/res/mipmap-mdpi/default_icon_64x64.bin: default icon for apps that don't have one
56+ - /data/: place where apps store their data
57+ - /data/images/: place where apps (like the camera) store their images
58+ - /data/com.example.app1/: storage (usually config.json) specific to com.example.app1
4459
4560#Building
4661
4762Prepare all the sources:
4863
4964```
50- mkdir ~/sources/
51- cd ~/sources/
65+ mkdir ~/MicroPythonOS
66+ cd ~/MicroPythonOS
5267
5368git clone https://github.com/MicroPythonOS/MicroPythonOS.git
5469
55- git clone https://github.com/bixb922 /freezeFS
70+ git clone https://github.com/MicroPythonOS /freezeFS
5671~/sources/MicroPythonOS/scripts/freezefs_mount_builtin.sh
5772
5873git clone https://github.com/cnadler86/micropython-camera-API
5974echo 'include("~/sources/lvgl_micropython/build/manifest.py")' >> micropython-camera-API/src/manifest.py
6075
61- git clone https://github.com/lvgl-micropython/lvgl_micropython
62- cp ~/sources/MicroPythonOS/patches/lv_conf.h lvgl_micropython/lib/
76+ git clone https://github.com/MicroPythonOS/lvgl_micropython
6377
64- cd lvgl_micropython/lib/micropython
65- patch -p1 < ~/sources/MicroPythonOS/patches/lvgl_micropython*.patch
78+ git clone https://github.com/MicroPythonOS/secp256k1-embedded-ecdh
6679```
6780
68- Start the build:
81+
82+ Start the build for ESP32:
6983
7084```
71- ~/sources/MicroPythonOS/scripts/build_lvgl_micropython.sh
85+ cd ~/projects/MicroPythonOS/MicroPythonOS
86+ ```
87+
88+
89+ ```
90+ ./scripts/build_lvgl_micropython.sh esp32 prod
7291```
7392
7493Or if you want to build for development, so without any preinstalled files, do:
7594
7695```
77- ~/sources/MicroPythonOS/ scripts/build_lvgl_micropython.shdevbuild
96+ ./ scripts/build_lvgl_micropython.shesp32 dev
7897```
7998
80- Now install it with:
99+ Nowmake sure your ESP32 is in bootloader mode (long-press the BOOT button if you're already running MicroPythonOS) and install it with:
81100
82101```
83- ~/sources/MicroPythonOS /scripts/flash_over_usb.sh
102+ . /scripts/flash_over_usb.sh
84103```
85104
86105If you made a 'devbuild', then you probably want to install all files and apps manually:
87106
88107```
89- ~/sources/MicroPythonOS /scripts/install.sh
108+ . /scripts/install.sh
90109```
91110
92111Release checklist
@@ -111,19 +130,22 @@ Building for desktop
111130Building to run as an app on the Linux desktop or MacOS (untested) is supported.
112131
113132To do so, make sure you have the necessary dependencies:
114- - seehttps://github.com/lvgl-micropython/
133+ - seehttps://github.com/MicroPythonOS/ lvgl-micropython/
115134- sudo apt install libv4l-dev # for webcam.c
116135
117136...and then run:
118137
119138```
120- ~/sources/MicroPythonOS/scripts/build_lvgl_micropython.sh unix
139+ cd ~/projects/MicroPythonOS/MicroPythonOS/
140+
141+ ```
142+ ./scripts/build_lvgl_micropython.sh unix dev
121143```
122144
123145or
124146
125147```
126- ~/sources/MicroPythonOS/ scripts/build_lvgl_micropython.sh macOS
148+ ./ scripts/build_lvgl_micropython.sh macOS dev
127149```
128150
129151Then to run it, do: