{"id":17881648,"url":"https://github.com/mischief/los","last_synced_at":"2026-02-27T03:32:05.317Z","repository":{"id":3477865,"uuid":"4533112","full_name":"mischief/los","owner":"mischief","description":"lua operating system","archived":false,"fork":false,"pushed_at":"2013-03-18T09:16:25.000Z","size":6401,"stargazers_count":10,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-26T13:49:20.299Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mischief.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-06-02T22:54:56.000Z","updated_at":"2025-07-18T18:25:20.000Z","dependencies_parsed_at":"2022-09-07T07:31:33.315Z","dependency_job_id":null,"html_url":"https://github.com/mischief/los","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mischief/los","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mischief%2Flos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mischief%2Flos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mischief%2Flos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mischief%2Flos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mischief","download_url":"https://codeload.github.com/mischief/los/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mischief%2Flos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29883714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T23:51:21.483Z","status":"online","status_checked_at":"2026-02-27T02:00:06.759Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-28T12:37:57.603Z","updated_at":"2026-02-27T03:32:05.301Z","avatar_url":"https://github.com/mischief.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lua OS\n\nA mix of OSKit and Lua.\n\n## Requirements\n   \n* gcc 4.5+\n* scons\n* qemu\n\n### ubuntu\n    \n    $ sudo apt-get install scons # https://launchpad.net/ubuntu/+source/scons\n    $ sudo apt-get install qemu # https://help.ubuntu.com/community/Installation/QemuEmulator\n    \n## Setup\n\n    $ git clone http://github.com/mischief/los\n    $ cd los\n\nRun scons\n\n    $ scons\n    scons: Reading SConscript files ...\n    scons: done reading SConscript files.\n    scons: Building targets ...\n    scons: building associated VariantDir targets: .build\n    as       .build/src/crt/x86/multiboot.o\n    src/crt/x86/multiboot.S: Assembler messages:\n    src/crt/x86/multiboot.S:33: Error: invalid instruction suffix for `push'\n    src/crt/x86/multiboot.S:36: Error: operand type mismatch for `push'\n    src/crt/x86/multiboot.S:37: Error: operand type mismatch for `push'\n    scons: *** [.build/src/crt/x86/multiboot.o] Error 1\n    scons: building terminated because of errors.\n\nAck! Cross compiling failed. Update build parameters\n\n    $ emacs -nw scache.conf # or vim or whatever editor of your choice\n\n    # FROM:\n    AR = 'ar'\n    RANLIB = 'ranlib'\n    CC = 'gcc' # \u003c--\n    CXX = 'g++'\n    AS = 'as' # \u003c--\n    LINK = '$SMARTLINK' # \u003c--\n    CFLAGS = ' -Wall -nostdinc -ffreestanding -std=gnu99 -pipe'\n    CXXFLAGS = ' -Wall  -nostdlib -fno-builtin -nostartfiles -nodefaultlibs -fno-exceptions -fno-rtti -fno-stack-protector'\n    ASFLAGS = ' -Wall -nostdlib -ffreestanding'\n\n    # TO:\n    AR = 'ar'\n    RANLIB = 'ranlib'\n    CC = 'gcc -m32' # \u003c--\n    CXX = 'g++'\n    AS = 'as --32' # \u003c--\n    LINK = 'ld -m elf_i386' # \u003c--\n    CFLAGS = ' -Wall -nostdinc -ffreestanding -std=gnu99 -pipe'\n    CXXFLAGS = ' -Wall  -nostdlib -fno-builtin -nostartfiles -nodefaultlibs -fno-exceptions -fno-rtti -fno-stack-protector'\n    ASFLAGS = ' -Wall -nostdlib -ffreestanding'\n    verbose = True\n    \nTry again\n\n    # Tips:\n    # If you get an error, you can do: scons -c to clean\n    # To run a parallel build: scons -j _ (where _ is # of cores, e.g. 1, 2, 4)\n\n    $ scons\n    scons: Reading SConscript files ...\n    scons: done reading SConscript files.\n    scons: Building targets ...\n    scons: building associated VariantDir targets: .build\n    Copy(\"kernel\", \".build/kernels/hello\")\n    scons: done building targets.\n\nMount the disk image to the floppy disk -- Check this file first\nbefore proceeding! Also, if anyone knows how to a modify floppy disks\nin userspace without calling mount (which requires root)\n\n    $ ./scripts/update_linux.sh\n    Mounting floppy...\n    [sudo] password for mek: \n    Copying kernels...\n    Unmounting floppy...\n\n## Go!\n\nRun qemu to emulate and run the image\n\n    qemu-system-i386 -fda ./los.img\n\n\nIf, after GRUB, you see a stream of non-stop text, you've encountered an error. This happens if debug settings not included with scons (if optimization level of gcc is set to anything \u003e 0)\n\n    $ scons debug=true optimization=0 # verbose=False (optional)\n    $ ./scripts/update_linux.sh\n    $ qemu-system-i386 -fda ./los.img\n\nPrefer interacting with los from your custom terminal instead of through qemu?\n\n    qemu-system-i386 -serial stdio -fda ./los.img\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmischief%2Flos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmischief%2Flos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmischief%2Flos/lists"}