Giter Site home page Giter Site logo

opuntiaos-project / opuntiaos Goto Github PK

View Code? Open in Web Editor NEW
660.0 21.0 31.0 31.36 MB

opuntiaOS - an operating system targeting x86, ARM and RISC-V.

License: BSD 2-Clause "Simplified" License

C 65.84% Assembly 2.45% Makefile 0.06% Python 4.74% Shell 0.85% C++ 25.34% Objective-C 0.02% Objective-C++ 0.69%
kernel os hobby-os hobby-kernel userland operating-system opuntiaos osdev

opuntiaos's Introduction


Features

Kernel

  • x86/x86-64, ARMv7 and Arm64 kernel with pre-emptive multi-threading
  • Ext2 filesystem
  • /dev and /proc filesystems
  • Local sockets
  • POSIX signals
  • TTY
  • learn more

Libraries

  • Runtime & support: LibC, LibCxx, LibObjC
  • Rich functionality: LibFoundation
  • UI functionality & rendering: LibG, LibUI
  • learn more

Userland

  • Composing windows manager for desktop and mobile
  • Simple UI apps
  • Terminal

Boot

  • Custom bootloaders
  • Kernel validation during the boot proccess
  • Custom device tree
  • learn more

How to build and run opuntiaOS?

See the build instructions

opuntiaos's People

Contributors

bellrise avatar nikascom avatar nimelehin avatar s0h1s2 avatar somerandomdev49 avatar vpachkov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opuntiaos's Issues

build error

hey guys so I am facing this error

[1/302] CC obj/libs/libc/dirent/tmp/libs/libcxx.dirent.o
FAILED: obj/libs/libc/dirent/tmp/libs/libcxx.dirent.o 
i686-elf-gcc -MMD -MF obj/libs/libc/dirent/tmp/libs/libcxx.dirent.o.d  -I../libs/libcxx/include -I../libs/libc/include -I../libs/libcxxabi/include -I../libs -ffreestanding -Werror -Wno-address-of-packed-member -ggdb -Os -DTARGET_DESKTOP  -c ../libs/libc/dirent/dirent.c -o obj/libs/libc/dirent/tmp/libs/libcxx.dirent.o
/bin/sh: i686-elf-gcc: command not found
[2/302] CC obj/libs/libc/ctype/tmp/libs/libcxx.ctype.o
FAILED: obj/libs/libc/ctype/tmp/libs/libcxx.ctype.o 
i686-elf-gcc -MMD -MF obj/libs/libc/ctype/tmp/libs/libcxx.ctype.o.d  -I../libs/libcxx/include -I../libs/libc/include -I../libs/libcxxabi/include -I../libs -ffreestanding -Werror -Wno-address-of-packed-member -ggdb -Os -DTARGET_DESKTOP  -c ../libs/libc/ctype/ctype.c -o obj/libs/libc/ctype/tmp/libs/libcxx.ctype.o
/bin/sh: i686-elf-gcc: command not found
[3/302] CC obj/libs/libc/init/tmp/libs/libcxx._lib.o
FAILED: obj/libs/libc/init/tmp/libs/libcxx._lib.o 
i686-elf-gcc -MMD -MF obj/libs/libc/init/tmp/libs/libcxx._lib.o.d  -I../libs/libcxx/include -I../libs/libc/include -I../libs/libcxxabi/include -I../libs -ffreestanding -Werror -Wno-address-of-packed-member -ggdb -Os -DTARGET_DESKTOP  -c ../libs/libc/init/_lib.c -o obj/libs/libc/init/tmp/libs/libcxx._lib.o
/bin/sh: i686-elf-gcc: command not found
[4/302] CC obj/libs/libc/malloc/tmp/libs/libcxx.malloc.o
FAILED: obj/libs/libc/malloc/tmp/libs/libcxx.malloc.o 
i686-elf-gcc -MMD -MF obj/libs/libc/malloc/tmp/libs/libcxx.malloc.o.d  -I../libs/libcxx/include -I../libs/libc/include -I../libs/libcxxabi/include -I../libs -ffreestanding -Werror -Wno-address-of-packed-member -ggdb -Os -DTARGET_DESKTOP  -c ../libs/libc/malloc/malloc.c -o obj/libs/libc/malloc/tmp/libs/libcxx.malloc.o
/bin/sh: i686-elf-gcc: command not found
[5/302] CC obj/libs/libc/posix/tmp/libs/libcxx.fs.o
FAILED: obj/libs/libc/posix/tmp/libs/libcxx.fs.o 
i686-elf-gcc -MMD -MF obj/libs/libc/posix/tmp/libs/libcxx.fs.o.d  -I../libs/libcxx/include -I../libs/libc/include -I../libs/libcxxabi/include -I../libs -ffreestanding -Werror -Wno-address-of-packed-member -ggdb -Os -DTARGET_DESKTOP  -c ../libs/libc/posix/fs.c -o obj/libs/libc/posix/tmp/libs/libcxx.fs.o
/bin/sh: i686-elf-gcc: command not found
[6/302] CC obj/libs/libc/posix/tmp/libs/libcxx.sched.o
FAILED: obj/libs/libc/posix/tmp/libs/libcxx.sched.o 
i686-elf-gcc -MMD -MF obj/libs/libc/posix/tmp/libs/libcxx.sched.o.d  -I../libs/libcxx/include -I../libs/libc/include -I../libs/libcxxabi/include -I../libs -ffreestanding -Werror -Wno-address-of-packed-member -ggdb -Os -DTARGET_DESKTOP  -c ../libs/libc/posix/sched.c -o obj/libs/libc/posix/tmp/libs/libcxx.sched.o
/bin/sh: i686-elf-gcc: command not found
ninja: build stopped: subcommand failed.
[ERROR] Can't build for arch: x86
[ERROR] All command failed

arm64 run run.sh not work , error is like this:qemu-system-aarch64: -drive id=disk,if=sd,format=raw,file=./one.img: machine type does not support if=sd,bus=0,unit=0

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:
1.
2.
3.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Please share data from out/base/boot/kernel.config

Kernel Config Paste here

Please share a stack trace

Trace Paste here

Additional context
Add any other context about the problem here.

Rich userland

hey @nimelehin so can you add some applications cause there are only few applications

such as:

file-manager,
settings,
browser,
ide for oputniaOS
games

Compile Error

Hi,

I am facing this error when I try to compile :

$ ./all.sh
[112/372] ASM obj/kernel/kernel/platform/x86/base/boot/kernel.bin.registers_helper.o
FAILED: obj/kernel/kernel/platform/x86/base/boot/kernel.bin.registers_helper.o
nasm ../kernel/kernel/platform/x86/registers_helper.s -o obj/kernel/kernel/platform/x86/base/boot/kernel.bin.registers_helper.o -f elf ../kernel/kernel/platform/x86/registers_helper.s:2: error: symbol 'read_ip' redefined
[121/372] CC obj/kernel/kernel/mem/base/boot/kernel.bin.vmm.o
ninja: build stopped: subcommand failed.
[ERROR] Can't build for arch: x86
[ERROR] All command failed

I have tried with LLVM & gnu toolchain. (Followed step by step opuntiaOS's Build Note)

Do you have an idea about that ?

Thanks

Missing requirement: mako-render

I tried to build it myself but at this command

./toolchains/scripts/i686-elf-tools.sh

this error appears

BUILD_TARGET     = i686-elf
BUILD_DIR        = /home/codespace/build-i686-elf
BUILD_BINUTILS   = true
BUILD_GCC        = true
BUILD_GDB        = true
ZIP              = true
WIN              = 
LINUX            = 
ENV              = 
x64              = 
BINUTILS_VERSION = 2.35
GCC_VERSION      = 11.1.0
GDB_VERSION      = 9.2
PATH             = /opt/mxe/usr/bin:/home/codespace/build-i686-elf/linux/output/bin:/home/codespace/build-i686-elf/windows/output/bin:/usr/local/rvm/gems/ruby-3.1.2/bin:/usr/local/rvm/gems/ruby-3.1.2@global/bin:/usr/local/rvm/rubies/ruby-3.1.2/bin:/vscode/bin/linux-x64/d045a5eda657f4d7b676dedbfa7aab8207f8a075/bin/remote-cli:/home/codespace/.local/bin:/home/codespace/.dotnet:/home/codespace/.nodejs/current/bin:/home/codespace/.php/current/bin:/home/codespace/.python/current/bin:/home/codespace/.java/current/bin:/home/codespace/.ruby/current/bin:/home/codespace/.local/bin:/usr/local/oryx:/usr/local/go/bin:/go/bin:/usr/local/sdkman/bin:/usr/local/sdkman/candidates/java/current/bin:/usr/local/sdkman/candidates/gradle/current/bin:/usr/local/sdkman/candidates/maven/current/bin:/usr/local/rvm/gems/default/bin:/usr/local/rvm/gems/default@global/bin:/usr/local/rvm/rubies/default/bin:/usr/local/share/rbenv/bin:/opt/conda/bin:/usr/local/php/current/bin:/usr/local/python/current/bin:/usr/local/py-utils/bin:/usr/local/nvs:/usr/local/share/nvm/versions/node/v16.18.0/bin:/usr/local/hugo/bin:/usr/local/dotnet/current:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/rvm/bin
Installing packages
Installing MXE
    Cloning MXE and compiling mingw32.static GCC
Cloning into 'mxe'...
remote: Enumerating objects: 54303, done.
remote: Counting objects: 100% (554/554), done.
remote: Compressing objects: 100% (213/213), done.
remote: Total 54303 (delta 361), reused 501 (delta 336), pack-reused 53749
Receiving objects: 100% (54303/54303), 26.31 MiB | 16.25 MiB/s, done.
Resolving deltas: 100% (39526/39526), done.
[create settings.mk]
== gcc is now a dependency of virtual toolchain package cc
      - cc will build gcc, pkgconf, and other core toolchain packages
      - please update scripts accordingly (ignore if you are building gcc alone)

[check reqs]
Missing requirement: mako-render

Please have a look at "docs/index.html" to ensure
that your system meets all requirements.

make: *** [Makefile:477: /opt/mxe/usr/installed/check-requirements] Error 1

LibC: Stdio

The final goal is to implement scanf and printf...

[kernel] Wrong month in Time Manager

Hi

Correct me if i'm wrong

This 31 + 28 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31 + 30 + 31 represents months, right?

So if yes, it should be 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31 right (from L28 to L34)?

static uint32_t pref_sum_of_days_in_mounts[] = {
0,
31,
31 + 28, // the code that use that should add +1 autmoatically for a leap year
31 + 28 + 31,
31 + 28 + 31 + 30,
31 + 28 + 31 + 30 + 31,
31 + 28 + 31 + 30 + 31 + 31,
31 + 28 + 31 + 30 + 31 + 31 + 30,
31 + 28 + 31 + 30 + 31 + 31 + 30 + 31,
31 + 28 + 31 + 30 + 31 + 31 + 30 + 31 + 30,
31 + 28 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31,
31 + 28 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31 + 30,
31 + 28 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31 + 30 + 31,
};

Regards

Custom libc

What is the rationale behind the custom libc?

There's musl and bionic.

Build on macOS

hi oneOS-Project team so can you give build instructions to build oneOS on Mac??

Need help for arm

hey @opuntiaOS team so I just building opuntiaOS for aarch32(arm) by using this command:

./gn_gen.sh --target_cpu aarch32

so how to load this on a real device??

[userland] Put app icons paths into info.json

App icons are currently saved as part of the base system in /res but can be made relative, similar to exec_rel_path.

I'm thinking of using a Resources folder in the application source directory and an info.json file that can override some of the definitions in the userland build prepare_app.py script which writes the built application's info.json, that way, an icon_rel_path variable can be declared there which could be used by the system.

VMM: COW memory leak

Currently COW suffers from memory leak. Going to fix this with rewrite of PMM

OS image

Is exists ready opuntiaOS image (like iso or similar)?

Mobile Tracker Free

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:
1.
2.
3.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Please share data from out/base/boot/kernel.config

Kernel Config Paste here

Please share a stack trace

Trace Paste here

Additional context
Add any other context about the problem here.

Malloc: Crash

in: userland/onesh

Doesn't work

int main()
{
    _cmd_app = malloc(256);
    _cmd_buffer = malloc(256);
    memcpy(_cmd_app, "/bin/", 5);
    _cmd_loop();
    return 0;
}

Does work

int main()
{
    _cmd_app = malloc(128);
    _cmd_buffer = malloc(128);
    memcpy(_cmd_app, "/bin/", 5);
    _cmd_loop();
    return 0;
}

build.sh issue

Hi Guys

Can Anybody Please Help Me In fixing that when i try to run build.sh or any .sh it give me that...

[1/395] CC obj/boot/libboot/crypto/stage2.bin.sha256.o
FAILED: obj/boot/libboot/crypto/stage2.bin.sha256.o
/clang -MMD -MF obj/boot/libboot/crypto/stage2.bin.sha256.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/crypto/sha256.c -o obj/boot/libboot/crypto/stage2.bin.sha256.o
/bin/sh: 1: /clang: not found
[2/395] CC obj/boot/libboot/crypto/stage2.bin.signature.o
FAILED: obj/boot/libboot/crypto/stage2.bin.signature.o
/clang -MMD -MF obj/boot/libboot/crypto/stage2.bin.signature.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/crypto/signature.c -o obj/boot/libboot/crypto/stage2.bin.signature.o
/bin/sh: 1: /clang: not found
[3/395] CC obj/boot/libboot/crypto/stage2.bin.uint2048.o
FAILED: obj/boot/libboot/crypto/stage2.bin.uint2048.o
/clang -MMD -MF obj/boot/libboot/crypto/stage2.bin.uint2048.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/crypto/uint2048.c -o obj/boot/libboot/crypto/stage2.bin.uint2048.o
/bin/sh: 1: /clang: not found
[4/395] CC obj/boot/libboot/crypto/stage2.bin.validate.o
FAILED: obj/boot/libboot/crypto/stage2.bin.validate.o
/clang -MMD -MF obj/boot/libboot/crypto/stage2.bin.validate.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/crypto/validate.c -o obj/boot/libboot/crypto/stage2.bin.validate.o
/bin/sh: 1: /clang: not found
[5/395] CC obj/boot/libboot/devtree/stage2.bin.devtree.o
FAILED: obj/boot/libboot/devtree/stage2.bin.devtree.o
/clang -MMD -MF obj/boot/libboot/devtree/stage2.bin.devtree.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/devtree/devtree.c -o obj/boot/libboot/devtree/stage2.bin.devtree.o
/bin/sh: 1: /clang: not found
[6/395] CC obj/boot/libboot/elf/stage2.bin.elf_lite.o
FAILED: obj/boot/libboot/elf/stage2.bin.elf_lite.o
/clang -MMD -MF obj/boot/libboot/elf/stage2.bin.elf_lite.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/elf/elf_lite.c -o obj/boot/libboot/elf/stage2.bin.elf_lite.o
/bin/sh: 1: /clang: not found
[7/395] CC obj/boot/libboot/fs/stage2.bin.ext2_lite.o
FAILED: obj/boot/libboot/fs/stage2.bin.ext2_lite.o
/clang -MMD -MF obj/boot/libboot/fs/stage2.bin.ext2_lite.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/fs/ext2_lite.c -o obj/boot/libboot/fs/stage2.bin.ext2_lite.o
/bin/sh: 1: /clang: not found
[8/395] CC obj/boot/libboot/log/stage2.bin.log.o
FAILED: obj/boot/libboot/log/stage2.bin.log.o
/clang -MMD -MF obj/boot/libboot/log/stage2.bin.log.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/log/log.c -o obj/boot/libboot/log/stage2.bin.log.o
/bin/sh: 1: /clang: not found
[9/395] CC obj/boot/libboot/mem/stage2.bin.alloc.o
FAILED: obj/boot/libboot/mem/stage2.bin.alloc.o
/clang -MMD -MF obj/boot/libboot/mem/stage2.bin.alloc.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/mem/alloc.c -o obj/boot/libboot/mem/stage2.bin.alloc.o
/bin/sh: 1: /clang: not found
[10/395] CC obj/boot/libboot/mem/stage2.bin.mem.o
FAILED: obj/boot/libboot/mem/stage2.bin.mem.o
/clang -MMD -MF obj/boot/libboot/mem/stage2.bin.mem.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/mem/mem.c -o obj/boot/libboot/mem/stage2.bin.mem.o
/bin/sh: 1: /clang: not found
[11/395] CC obj/boot/x86/stage2/drivers/stage2.bin.ata.o
FAILED: obj/boot/x86/stage2/drivers/stage2.bin.ata.o
/clang -MMD -MF obj/boot/x86/stage2/drivers/stage2.bin.ata.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/x86/stage2/drivers/ata.c -o obj/boot/x86/stage2/drivers/stage2.bin.ata.o
/bin/sh: 1: /clang: not found
[12/395] CC obj/boot/x86/stage2/drivers/stage2.bin.port.o
FAILED: obj/boot/x86/stage2/drivers/stage2.bin.port.o
/clang -MMD -MF obj/boot/x86/stage2/drivers/stage2.bin.port.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/x86/stage2/drivers/port.c -o obj/boot/x86/stage2/drivers/stage2.bin.port.o
/bin/sh: 1: /clang: not found
[13/395] CC obj/boot/x86/stage2/drivers/stage2.bin.uart.o
FAILED: obj/boot/x86/stage2/drivers/stage2.bin.uart.o
/clang -MMD -MF obj/boot/x86/stage2/drivers/stage2.bin.uart.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/x86/stage2/drivers/uart.c -o obj/boot/x86/stage2/drivers/stage2.bin.uart.o
/bin/sh: 1: /clang: not found
[14/395] ACTION //build/boot/x86/stage1:stage1(//toolchains:llvm-cross-compiler)
ninja: build stopped: subcommand failed.
[ERROR] Can't build for arch: x86
root@DESKTOP-U162E26:/mnt/c/Users/mwyou/Desktop/OSOSOS/opuntiaOS/out# ./all.sh
[2/394] CC obj/boot/libboot/crypto/stage2.bin.sha256.o
FAILED: obj/boot/libboot/crypto/stage2.bin.sha256.o
/clang -MMD -MF obj/boot/libboot/crypto/stage2.bin.sha256.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/crypto/sha256.c -o obj/boot/libboot/crypto/stage2.bin.sha256.o
/bin/sh: 1: /clang: not found
[3/394] CC obj/boot/libboot/crypto/stage2.bin.signature.o
FAILED: obj/boot/libboot/crypto/stage2.bin.signature.o
/clang -MMD -MF obj/boot/libboot/crypto/stage2.bin.signature.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/crypto/signature.c -o obj/boot/libboot/crypto/stage2.bin.signature.o
/bin/sh: 1: /clang: not found
[4/394] CC obj/boot/libboot/crypto/stage2.bin.uint2048.o
FAILED: obj/boot/libboot/crypto/stage2.bin.uint2048.o
/clang -MMD -MF obj/boot/libboot/crypto/stage2.bin.uint2048.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/crypto/uint2048.c -o obj/boot/libboot/crypto/stage2.bin.uint2048.o
/bin/sh: 1: /clang: not found
[5/394] CC obj/boot/libboot/crypto/stage2.bin.validate.o
FAILED: obj/boot/libboot/crypto/stage2.bin.validate.o
/clang -MMD -MF obj/boot/libboot/crypto/stage2.bin.validate.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/crypto/validate.c -o obj/boot/libboot/crypto/stage2.bin.validate.o
/bin/sh: 1: /clang: not found
[6/394] CC obj/boot/libboot/devtree/stage2.bin.devtree.o
FAILED: obj/boot/libboot/devtree/stage2.bin.devtree.o
/clang -MMD -MF obj/boot/libboot/devtree/stage2.bin.devtree.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/devtree/devtree.c -o obj/boot/libboot/devtree/stage2.bin.devtree.o
/bin/sh: 1: /clang: not found
[7/394] CC obj/boot/libboot/elf/stage2.bin.elf_lite.o
FAILED: obj/boot/libboot/elf/stage2.bin.elf_lite.o
/clang -MMD -MF obj/boot/libboot/elf/stage2.bin.elf_lite.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/elf/elf_lite.c -o obj/boot/libboot/elf/stage2.bin.elf_lite.o
/bin/sh: 1: /clang: not found
[8/394] CC obj/boot/libboot/fs/stage2.bin.ext2_lite.o
FAILED: obj/boot/libboot/fs/stage2.bin.ext2_lite.o
/clang -MMD -MF obj/boot/libboot/fs/stage2.bin.ext2_lite.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/fs/ext2_lite.c -o obj/boot/libboot/fs/stage2.bin.ext2_lite.o
/bin/sh: 1: /clang: not found
[9/394] CC obj/boot/libboot/log/stage2.bin.log.o
FAILED: obj/boot/libboot/log/stage2.bin.log.o
/clang -MMD -MF obj/boot/libboot/log/stage2.bin.log.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/log/log.c -o obj/boot/libboot/log/stage2.bin.log.o
/bin/sh: 1: /clang: not found
[10/394] CC obj/boot/libboot/mem/stage2.bin.alloc.o
FAILED: obj/boot/libboot/mem/stage2.bin.alloc.o
/clang -MMD -MF obj/boot/libboot/mem/stage2.bin.alloc.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/mem/alloc.c -o obj/boot/libboot/mem/stage2.bin.alloc.o
/bin/sh: 1: /clang: not found
[11/394] CC obj/boot/libboot/mem/stage2.bin.mem.o
FAILED: obj/boot/libboot/mem/stage2.bin.mem.o
/clang -MMD -MF obj/boot/libboot/mem/stage2.bin.mem.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/mem/mem.c -o obj/boot/libboot/mem/stage2.bin.mem.o
/bin/sh: 1: /clang: not found
[12/394] CC obj/boot/x86/stage2/drivers/stage2.bin.ata.o
FAILED: obj/boot/x86/stage2/drivers/stage2.bin.ata.o
/clang -MMD -MF obj/boot/x86/stage2/drivers/stage2.bin.ata.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/x86/stage2/drivers/ata.c -o obj/boot/x86/stage2/drivers/stage2.bin.ata.o
/bin/sh: 1: /clang: not found
[13/394] CC obj/boot/x86/stage2/drivers/stage2.bin.port.o
FAILED: obj/boot/x86/stage2/drivers/stage2.bin.port.o
/clang -MMD -MF obj/boot/x86/stage2/drivers/stage2.bin.port.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/x86/stage2/drivers/port.c -o obj/boot/x86/stage2/drivers/stage2.bin.port.o
/bin/sh: 1: /clang: not found
[14/394] CC obj/boot/x86/stage2/drivers/stage2.bin.uart.o
FAILED: obj/boot/x86/stage2/drivers/stage2.bin.uart.o
/clang -MMD -MF obj/boot/x86/stage2/drivers/stage2.bin.uart.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/x86/stage2/drivers/uart.c -o obj/boot/x86/stage2/drivers/stage2.bin.uart.o
/bin/sh: 1: /clang: not found
[15/394] CC obj/boot/x86/stage2/mem/stage2.bin.vm.o
FAILED: obj/boot/x86/stage2/mem/stage2.bin.vm.o
/clang -MMD -MF obj/boot/x86/stage2/mem/stage2.bin.vm.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/x86/stage2/mem/vm.c -o obj/boot/x86/stage2/mem/stage2.bin.vm.o
/bin/sh: 1: /clang: not found
ninja: build stopped: subcommand failed.
[ERROR] Can't build for arch: x86
[ERROR] All command failed
root@DESKTOP-U162E26:/mnt/c/Users/mwyou/Desktop/OSOSOS/opuntiaOS/out# sh build.sh
[1/393] CC obj/boot/libboot/crypto/stage2.bin.sha256.o
FAILED: obj/boot/libboot/crypto/stage2.bin.sha256.o
/clang -MMD -MF obj/boot/libboot/crypto/stage2.bin.sha256.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/crypto/sha256.c -o obj/boot/libboot/crypto/stage2.bin.sha256.o
/bin/sh: 1: /clang: not found
[2/393] CC obj/boot/libboot/crypto/stage2.bin.signature.o
FAILED: obj/boot/libboot/crypto/stage2.bin.signature.o
/clang -MMD -MF obj/boot/libboot/crypto/stage2.bin.signature.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/crypto/signature.c -o obj/boot/libboot/crypto/stage2.bin.signature.o
/bin/sh: 1: /clang: not found
[3/393] CC obj/boot/libboot/crypto/stage2.bin.uint2048.o
FAILED: obj/boot/libboot/crypto/stage2.bin.uint2048.o
/clang -MMD -MF obj/boot/libboot/crypto/stage2.bin.uint2048.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/crypto/uint2048.c -o obj/boot/libboot/crypto/stage2.bin.uint2048.o
/bin/sh: 1: /clang: not found
[4/393] CC obj/boot/libboot/crypto/stage2.bin.validate.o
FAILED: obj/boot/libboot/crypto/stage2.bin.validate.o
/clang -MMD -MF obj/boot/libboot/crypto/stage2.bin.validate.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/crypto/validate.c -o obj/boot/libboot/crypto/stage2.bin.validate.o
/bin/sh: 1: /clang: not found
[5/393] CC obj/boot/libboot/devtree/stage2.bin.devtree.o
FAILED: obj/boot/libboot/devtree/stage2.bin.devtree.o
/clang -MMD -MF obj/boot/libboot/devtree/stage2.bin.devtree.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/devtree/devtree.c -o obj/boot/libboot/devtree/stage2.bin.devtree.o
/bin/sh: 1: /clang: not found
[6/393] CC obj/boot/libboot/elf/stage2.bin.elf_lite.o
FAILED: obj/boot/libboot/elf/stage2.bin.elf_lite.o
/clang -MMD -MF obj/boot/libboot/elf/stage2.bin.elf_lite.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/elf/elf_lite.c -o obj/boot/libboot/elf/stage2.bin.elf_lite.o
/bin/sh: 1: /clang: not found
[7/393] CC obj/boot/libboot/fs/stage2.bin.ext2_lite.o
FAILED: obj/boot/libboot/fs/stage2.bin.ext2_lite.o
/clang -MMD -MF obj/boot/libboot/fs/stage2.bin.ext2_lite.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/fs/ext2_lite.c -o obj/boot/libboot/fs/stage2.bin.ext2_lite.o
/bin/sh: 1: /clang: not found
[8/393] CC obj/boot/libboot/log/stage2.bin.log.o
FAILED: obj/boot/libboot/log/stage2.bin.log.o
/clang -MMD -MF obj/boot/libboot/log/stage2.bin.log.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/log/log.c -o obj/boot/libboot/log/stage2.bin.log.o
/bin/sh: 1: /clang: not found
[9/393] CC obj/boot/libboot/mem/stage2.bin.alloc.o
FAILED: obj/boot/libboot/mem/stage2.bin.alloc.o
/clang -MMD -MF obj/boot/libboot/mem/stage2.bin.alloc.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/mem/alloc.c -o obj/boot/libboot/mem/stage2.bin.alloc.o
/bin/sh: 1: /clang: not found
[10/393] CC obj/boot/libboot/mem/stage2.bin.mem.o
FAILED: obj/boot/libboot/mem/stage2.bin.mem.o
/clang -MMD -MF obj/boot/libboot/mem/stage2.bin.mem.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/mem/mem.c -o obj/boot/libboot/mem/stage2.bin.mem.o
/bin/sh: 1: /clang: not found
[11/393] CC obj/boot/x86/stage2/drivers/stage2.bin.ata.o
FAILED: obj/boot/x86/stage2/drivers/stage2.bin.ata.o
/clang -MMD -MF obj/boot/x86/stage2/drivers/stage2.bin.ata.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/x86/stage2/drivers/ata.c -o obj/boot/x86/stage2/drivers/stage2.bin.ata.o
/bin/sh: 1: /clang: not found
[12/393] CC obj/boot/x86/stage2/drivers/stage2.bin.port.o
FAILED: obj/boot/x86/stage2/drivers/stage2.bin.port.o
/clang -MMD -MF obj/boot/x86/stage2/drivers/stage2.bin.port.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/x86/stage2/drivers/port.c -o obj/boot/x86/stage2/drivers/stage2.bin.port.o
/bin/sh: 1: /clang: not found
[13/393] CC obj/boot/x86/stage2/drivers/stage2.bin.uart.o
FAILED: obj/boot/x86/stage2/drivers/stage2.bin.uart.o
/clang -MMD -MF obj/boot/x86/stage2/drivers/stage2.bin.uart.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/x86/stage2/drivers/uart.c -o obj/boot/x86/stage2/drivers/stage2.bin.uart.o
/bin/sh: 1: /clang: not found
[14/393] CC obj/boot/x86/stage2/mem/stage2.bin.vm.o
FAILED: obj/boot/x86/stage2/mem/stage2.bin.vm.o
/clang -MMD -MF obj/boot/x86/stage2/mem/stage2.bin.vm.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/x86/stage2/mem/vm.c -o obj/boot/x86/stage2/mem/stage2.bin.vm.o
/bin/sh: 1: /clang: not found
ninja: build stopped: subcommand failed.
-e [ERROR] Can't build for arch: x86
root@DESKTOP-U162E26:/mnt/c/Users/mwyou/Desktop/OSOSOS/opuntiaOS/out# sh all.sh
[1/393] CC obj/boot/libboot/crypto/stage2.bin.sha256.o
FAILED: obj/boot/libboot/crypto/stage2.bin.sha256.o
/clang -MMD -MF obj/boot/libboot/crypto/stage2.bin.sha256.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/crypto/sha256.c -o obj/boot/libboot/crypto/stage2.bin.sha256.o
/bin/sh: 1: /clang: not found
[2/393] CC obj/boot/libboot/crypto/stage2.bin.signature.o
FAILED: obj/boot/libboot/crypto/stage2.bin.signature.o
/clang -MMD -MF obj/boot/libboot/crypto/stage2.bin.signature.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/crypto/signature.c -o obj/boot/libboot/crypto/stage2.bin.signature.o
/bin/sh: 1: /clang: not found
[3/393] CC obj/boot/libboot/crypto/stage2.bin.uint2048.o
FAILED: obj/boot/libboot/crypto/stage2.bin.uint2048.o
/clang -MMD -MF obj/boot/libboot/crypto/stage2.bin.uint2048.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/crypto/uint2048.c -o obj/boot/libboot/crypto/stage2.bin.uint2048.o
/bin/sh: 1: /clang: not found
[4/393] CC obj/boot/libboot/crypto/stage2.bin.validate.o
FAILED: obj/boot/libboot/crypto/stage2.bin.validate.o
/clang -MMD -MF obj/boot/libboot/crypto/stage2.bin.validate.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/crypto/validate.c -o obj/boot/libboot/crypto/stage2.bin.validate.o
/bin/sh: 1: /clang: not found
[5/393] CC obj/boot/libboot/devtree/stage2.bin.devtree.o
FAILED: obj/boot/libboot/devtree/stage2.bin.devtree.o
/clang -MMD -MF obj/boot/libboot/devtree/stage2.bin.devtree.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/devtree/devtree.c -o obj/boot/libboot/devtree/stage2.bin.devtree.o
/bin/sh: 1: /clang: not found
[6/393] CC obj/boot/libboot/elf/stage2.bin.elf_lite.o
FAILED: obj/boot/libboot/elf/stage2.bin.elf_lite.o
/clang -MMD -MF obj/boot/libboot/elf/stage2.bin.elf_lite.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/elf/elf_lite.c -o obj/boot/libboot/elf/stage2.bin.elf_lite.o
/bin/sh: 1: /clang: not found
[7/393] CC obj/boot/libboot/fs/stage2.bin.ext2_lite.o
FAILED: obj/boot/libboot/fs/stage2.bin.ext2_lite.o
/clang -MMD -MF obj/boot/libboot/fs/stage2.bin.ext2_lite.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/fs/ext2_lite.c -o obj/boot/libboot/fs/stage2.bin.ext2_lite.o
/bin/sh: 1: /clang: not found
[8/393] CC obj/boot/libboot/log/stage2.bin.log.o
FAILED: obj/boot/libboot/log/stage2.bin.log.o
/clang -MMD -MF obj/boot/libboot/log/stage2.bin.log.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/log/log.c -o obj/boot/libboot/log/stage2.bin.log.o
/bin/sh: 1: /clang: not found
[9/393] CC obj/boot/libboot/mem/stage2.bin.alloc.o
FAILED: obj/boot/libboot/mem/stage2.bin.alloc.o
/clang -MMD -MF obj/boot/libboot/mem/stage2.bin.alloc.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/mem/alloc.c -o obj/boot/libboot/mem/stage2.bin.alloc.o
/bin/sh: 1: /clang: not found
[10/393] CC obj/boot/libboot/mem/stage2.bin.mem.o
FAILED: obj/boot/libboot/mem/stage2.bin.mem.o
/clang -MMD -MF obj/boot/libboot/mem/stage2.bin.mem.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/libboot/mem/mem.c -o obj/boot/libboot/mem/stage2.bin.mem.o
/bin/sh: 1: /clang: not found
[11/393] CC obj/boot/x86/stage2/drivers/stage2.bin.ata.o
FAILED: obj/boot/x86/stage2/drivers/stage2.bin.ata.o
/clang -MMD -MF obj/boot/x86/stage2/drivers/stage2.bin.ata.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/x86/stage2/drivers/ata.c -o obj/boot/x86/stage2/drivers/stage2.bin.ata.o
/bin/sh: 1: /clang: not found
[12/393] CC obj/boot/x86/stage2/drivers/stage2.bin.port.o
FAILED: obj/boot/x86/stage2/drivers/stage2.bin.port.o
/clang -MMD -MF obj/boot/x86/stage2/drivers/stage2.bin.port.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/x86/stage2/drivers/port.c -o obj/boot/x86/stage2/drivers/stage2.bin.port.o
/bin/sh: 1: /clang: not found
[13/393] CC obj/boot/x86/stage2/drivers/stage2.bin.uart.o
FAILED: obj/boot/x86/stage2/drivers/stage2.bin.uart.o
/clang -MMD -MF obj/boot/x86/stage2/drivers/stage2.bin.uart.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/x86/stage2/drivers/uart.c -o obj/boot/x86/stage2/drivers/stage2.bin.uart.o
/bin/sh: 1: /clang: not found
[14/393] CC obj/boot/x86/stage2/mem/stage2.bin.vm.o
FAILED: obj/boot/x86/stage2/mem/stage2.bin.vm.o
/clang -MMD -MF obj/boot/x86/stage2/mem/stage2.bin.vm.o.d -target i686-pc-none-elf -I../boot -ffreestanding -Werror -Wno-address-of-packed-member -mno-80387 -mno-mmx -mno-sse -mno-sse2 -c ../boot/x86/stage2/mem/vm.c -o obj/boot/x86/stage2/mem/stage2.bin.vm.o
/bin/sh: 1: /clang: not found
ninja: build stopped: subcommand failed.
[ERROR] Can't build for arch: x86
-e [ERROR] All command failed
**

Greetings,

shared_buffer_get doubt

I have a doubt, I commented it below by the code

int shared_buffer_get(int id, uintptr_t __user* res_buffer)
{
    if (unlikely(id < 0 || SHBUF_MAX_BUFFERS <= id)) {
        return -EINVAL;
    }

    spinlock_acquire(&_shared_buffer_lock);
    if (unlikely(!buffer_descs[id].data)) {
        spinlock_release(&_shared_buffer_lock);
        return -EINVAL;
    }

// here why do you check against the current pid?
// how can you do IPC if you dont allow the buffer to be accessed by another process
    if (!proc_is_su(RUNNING_THREAD->process) && RUNNING_THREAD->process->pid != buffer_descs[id].owner_uid) {
        spinlock_release(&_shared_buffer_lock);
        return -EPERM;
    }

#ifdef SHARED_BUFFER_DEBUG
    log("Buffer opened at %p %d", buffer_descs[id].data, id);
#endif
    uintptr_t result_pointer = (uintptr_t)buffer_descs[id].data;
    umem_put_user(result_pointer, res_buffer);
    spinlock_release(&_shared_buffer_lock);
    return 0;
}

[window_server] Port Wayland protocol to be used as windowing backend

There is long range of custom systems which are using it, even mobile linux distros.

Wayland is low level Display Server Protocol where server, compositor, window manager and renderer are one thing. Using this will simplify development of userland a lot, there are popular protocol extensions which extends it's abilities like adding layers on screen for wallpaper, widgets, huds etc. Also allow expanding by writing custom extensions in order to add new features in specific server and future clients.

Port will open new possibilities and improve userland a lot.

Does it work on PinePhone Pro?

I would like to know if it works on phones. I looked through the code and saw arm code but I am unsure if it is able to be used on phones.

Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.