Skip to content

ataberk320/autumnos-mobile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

266 Commits
 
 
 
 

Repository files navigation

1000005253-removebg-preview Version v1.0

The AutumnOS Project

Originally started as a general OS research on r/osdev, AutumnOS has undergone a significant architectural pivot to meet the demands of modern mobile computing. To achieve maximum hardware compatibility, security, and a rich application ecosystem, the project has been rebuilt as a Linux-based Mobile Operating System. ​By transitioning from a custom microkernel approach to a highly optimized Linux kernel, AutumnOS now leverages advanced process management, robust networking stacks, and extensive driver support. Targeting RISC-V mobile platforms, AutumnOS aims to provide a seamless, open-source mobile experience that bridges the gap between lightweight hardware and handheld efficiency.

Technical information:

🗂 File system:

  • initramfs
  • ext2/3/4 filesystem

🌐 Connection:

  • FIFO Pipe
  • Unix Domain Socket
  • eth0/VLAN/WLAN
  • OpenSSL
  • http support
  • wget and curl
  • dropbear sshd and iproute2 (ip addr, ip link set up, ip route)
  • udhcpc
  • Timezone data
  • libjsip (SIP call)
  • GitBrowser - a GitHub port
  • Pull repo with git
  • ca-certificates
  • netsurf
  • DNS setup (nameserver 8.8.8.8)
  • OTA Software Update

🌄 Graphics:

  • SDL and SDL2
  • LVGL graphics library
  • Allwinner G2D
  • DRM accelerator with KMS
  • libjpg, libpng, freetype
  • AutumnGL (GLES 3.0 based)
  • fbv, fbtest
  • AutixSurf Display Server
  • Cedrus

💽 Multimedia:

  • Qt6 multimedia (alsa, ffmpeg, gstreamer)
  • ffmpeg and ffplay video player and sound
  • mpg123
  • gst1/gstreamer
  • Camera (USB/V4L2/UVC etc.)

🔊 Sound driver:

  • Intel HD Audio/AC97
  • alsa/pulseaudio

⚙️ External drivers:

  • evdev/indev
  • USB Gadget (Serial port)
  • USB OHCI/XHCI/HID drivers
  • PCI device
  • HDMI and sun4i Resistive Touchscreen
  • QEMU(Virtio)
  • RTC
  • Watchdog script(Software and hardware watchdog)
  • Goldfish driver support
  • Virtual framebuffer(fb0, fb1)
  • GPIO reader
  • E1000 & RTL8723ds

🗃 Libraries:

  • BusyBox Tools (only boot scripts)
  • AutumnSDK
  • Autumn Core, HAL, API
  • acoreutils (kmsg, kpanic, kassert, kbeat, kmap, ls, rm, cp, mkdir)

🎏 Userspace:

  • AutumnOS CoreUtils Terminal
  • nano for Buildroot terminal
  • sudo wrapper (atmsu_root)
  • Resource managing
  • Multilanguage
  • Multitasking
  • live weather clock widget
  • Theme manager (Coming soon)

📄 Logging/debugging:

  • LVGL printf log output
  • strace for memory access debug

🧮 Games:

  • chocolate-doom
  • LTris

👾 Coding:

  • Python
  • pip, python3

🗄 Package manager:

  • Autumn Store
  • insmod
  • modprobe
    .

The schematic of how our OS works


   **The layered struct**
             |
             ¥
  Autumn UI/CoreUtils
  |
  ¥
  API (.so) -> Other APIs
                        |
                        ¥
                UDS Socket
                         |
              <----------|
           Core
             |
             ¥
        **HAL (.so)**
             |
             ¥
        Linux Kernel
             |
             ¥
         Hardware

and;


Boot schematic ramfs(Low battery status)-> Boot-> Drivers-> Core-> dlsym-> Subsystem-> UI-> CoreUtils


Easter eggs

  • Glitch panic (console will open when an a kernel panic occurs and it makes UI glitch!/only watchdog.sh panics!)
  • Michael Scott on weather clock widget
  • Gravity 0 (floating icons on home page)
  • Kernel hacking (sysrq)
  • AutumnOS Bare Idle Mode

Compiling

To compile all image: make -j$(nproc). For improve compiling performance use make -j$(nproc)/2

Important! Carefully read the instructions: All Instructions

Buildroot version: Buildroot 2026.02-84-g088c3602fd-dirty
To pull this version:
git clone https://github.com/buildroot/buildroot.git -> cd buildroot -> git checkout 088c3602fd

LVGL Designer: EEZ Studio 0.26.2
EEZ Studio setup link: https://drive.google.com/file/d/1Nfeg9FtOeK48H4LRhqOBRV9haR9v_n8W/view?usp=sharing

To get Qt Creator: QT6 link
I bypassed -j9 for Qt6 (by BR2_JLEVEL)

WSL version: must be Ubuntu 22.04 LTS

Target architecture: RV64 (RISC-V 64bit)

CPU requirement: 256MB+

Supported SoC's: StarFive JH7110/JH7100, Allwinner D1, Canaan K230


Interfaces and projects inspired me

  • LG Optimus VU - early Optimus UI 3.0 (AutumnUI)

120222-lg-optimus-Vu-01

  • Samsung Galaxy S1 swipe lockscreen

Samsung_Galaxy_S_(Android_2 2 1)_-_Lock_Screen

  • Android 2.x

froyo11 (1)

  • Windows - BSOD (Glitch panic)

OIP (2)

  • Android Honeycomb (Autumn_HoloUI)

Android-Honeycomb

  • HTC Lock Screen Incoming Call
maxresdefault (1)

System screenshots:

Screenshots Directory


For Non SoM(System On Module) chips:


Packages and userspace:

  • AutumnSDK: App development and SDK environment for AutumnOS
  • acoreutils: File operations and kmsg like functions. (BusyTools is removed from userspace)
  • ASComposer: Our layer composer and drawer for AutixSurf.
  • AutixSurf: Our SHM supported display server Documentation
  • AutumnGL: GLES 3.0 based graphics engine. (Only StarFive JH71XX!)

Freedom for developers

  • Endless Life Policity: Developers can use source code (According to GPL-3.0) and write their own Custom ROM and port new features.
  • Protected files: If you want to downgrade your AutumnOS version, your data will not be lost thanks to ping pong slot and User data partition on SD card.

About

AutumnOS: A locally developed, open-source Mobile Operating System for RISC-V. Powering Allwinner D1 and other processors with custom AutixSurf integration and Linux kernel.

Topics

Resources

Stars

Watchers

Forks

Contributors