Search the Community
Showing results for tags 'os'.
Found 13 results
First post here, hi. For the past few months, I’ve been working on an operating system for OpenComputers. It’s a monolithic, UNIX-like operating system. Note that Monolith will not currently work in OCEmu due to the lack of support for`computer.getDeviceInfo`. First, the advantages over OpenOS: - Monolith supports dynamically adding and removing screens, GPUs, and keyboards - it’ll automatically spawn a shell on an available combo and will try to match by tier. - Monolith’s userspace is properly sandboxed - there’s no way to completely crash the kernel from userland. - Monolith includes a fairly complete set of documentation, in the form of manual pages, for many system and user-level APIs. They are also available for online viewing here. - Monolith’s terminal is entirely VT100 - the `term` API is a wrapper around this and included only for compatibility. - The scheduler will automatically collect garbage if memory gets low, and includes a facility that avoids dropping signals. Your system may freeze for half a second or so, but all input will be registered and you’re less likely to OOM. - Monolith ships with the Minitel, and soon GERTi, network stacks out-of-the-box. - Monolith’s package manager, while admittedly somewhat basic, is faster than OPPM. - The provided `readline` implementation is ridiculously featured and the best I’ve written - and it’s even its own API. `io.stdin:read` is by default simply a wrapper around `readline`. - The recommended and default editor, `vled`, has support for optional syntax highlighting through a command-line flag. So far, only Lua is supported. Now, the disadvantages. - Shell redirects are not implemented. - Monolith requires a minimum of 256 kilobytes of RAM, or a single tier 1.5 stick, due to the userspace sandboxing. - Monolith does not *quiiiiiiite* have full OpenOS compatibility, though most programs should theoretically run out of the box - see `wget`, `pastebin`, `components`, and `lshw`, which are pretty much direct copies of the OpenOS implementations. The `event`, `internet`, and `buffer` libraries are also taken from OpenOS. - `vled` is slower (due to use of VT100) and slightly less featured than OpenOS’s `edit`. It’s also a little more obtuse thanks to the fact that it draws heavily from `vim`. - There are a few small and rather strange bugs in my `readline` implementation. They shouldn’t affect normal use too much, though, as they aren’t terribly noticeable except on tier 1 screens. The source code is available here if you want to try it out!
Okay, so here's my problem. I am trying to make my own custom OS for OpenComputers. However, I am having issues with the GPU displaying on-screen. I have code that should, as far as I can tell, do what I need it to, but doesn't. How to reproduce: Download the attached .lua files, and put them on a floppy disk. Place init.lua in the root directory (of the floppy), and boot.lua in sys/boot/ (so the files on the floppy should be /init.lua and /sys/boot/boot.lua). Boot from the floppy, and you will see what I mean. If anyone can help me, or knows what I can change or look at, your help would be greatly appreciated Before you ask, I have already looked at the Wiki entries on Component, GPU, Screen, Writing Custom OSes, and that one forum post about 'Custom OSes under OpenComputers' Lua architecture'. I am probably a moderate to intermediate Lua programmer by now, and this code is the result of around an hour of work. Thanks in advance! boot.lua init.lua
I originally create this kernel as a small software to provide basic functions for reading file, control components, etc. so I can create my custom OS. I decided to make it modular so it would be easy to debug and be like Linux. But I realized it can be used to make any custom OS I(or you)'d like. The kernel currently have few functions along with some useful variables. The functions include: gpuInvoke() Control the GPU and any attached displays. printStatus()/writeStatus() Low-level print() and io.write(). fs() Low-level filesystem controller. Can control any filesystem specified. readFile() Return the content of the specified file execInit() and panic() You probably know what these two does by now... Some more As you can see, it still doesn't have much function but it still get the job done. Please note that there are two init.lua at different location and that they are not the same. init.lua at the root directory are the bootloader, think of it as a OC version of GRUB Another init.lua at /bin/ are the one that the kernel use. Get the kernel here: https://github.com/WattanaGaming/OCLinux
I am attempting to write an OS from scratch and I have come up with a couple questions that somebody can hopefully clarify for me as I cannot continue without the following knowledge. 1).Since a critical function like require is unavailable, can someone point me to general steps needed to write a custom require function. 2).What would be needed to implement a custom filesystem without any libraries from openos. Any help is greatly appreciated
Introduction: Hello, as some of you may know, I'm a regular on the IRC chan, and I go by the name Shuudoushi (Shuu for short). For sometime now, I've been steadily building something of an OS, SecureOS (SOS for short). But haven't wanted to put it up here as I'm not really happy with it as it sits, but I don't think I'll ever really be happy with it, so here it is! Goal: The main goal of SOS was to provide better security for OpenOS through a program suite of sorts, but has steadily evolved into it's own little beast. Now the goal is to provide better security and a more unix like feel (well... mostly just a unix like feel, the upgraded security is just a nice side effect) without throwing off new users or users that are already really used to OpenOS. Features: -Mostly working permissions system through an 'is root' salutation and a file blacklist, not the best way of getting the job done, but it works. -Software based sha256 password hashing, no need for the data card for secure passwords. -Multi-user login system. -Independent update system from OpenSecurity (the add-on that SOS is shipped with). -Other misc things that I can't think of off the top of my head... How to get it/help out: The project is on my Github, any bugs found should also be filed there please. The repo is also split into two branches, a release branch and a dev branch (stuff on the dev branch is almost always broken, just a heads up ). You can now run "pastebin run 20EcMQ7C" to get SecureOS on a computer that already has OpenOS installed. Also, please note that some files would appear to be missing. They're not, just aliased to programs I've made to replace said other programs.
miniOS MiniOS is an OS that is similar to early versions of MS-DOS. It crashes often, but it has one key advantage over openOS. It leaves around 100k of RAM free on 192k systems (Where did you think I got the name from?). As of now the API is simple, all the libs are in the global namespace and require just returns what is in the global namespace. THIS IS ALPHA QUALITY! BUGS WILL EXIST! BAD CODING! Commands: cmds - views all of the internal commands <DRIVE LETTER>: - switches to the drive Screenshot: Download: GitHub version 0.5.9.4.zip (Old Version use GitHub!) Todo list, if you want to help me: GitHub TODO.txt GitHub Issues Todo, Continued: Use address instead of drive letter for locating command.lua? Unix FS loadable driver?
I am building an OS and i am not going to use the filesystem library. I am going to write my own filesystem for unmanaged drives. To boot i need to be able to run programs. The default libraries will not support my custom filesystem how can i run programs? Is is possible to compile and run a string as a program using EEPROM accessible libraries?
VetaTech OS [ABANDONED] VETATECH OS IS NOW ABANDONED, I AM WORKING ON A NEW OPERATING SYSTEM. The reason VetaTech OS was abandoned is due to it's unique core which was made really from scratch. I am working on the quite same GUI-based os, but working under default OpenOS (like Windows 7 works under DOS). After doing stresstests and trying to make it daily-use instead of OpenOS it became hard because of lack of features that OpenOS has by default. Because of that, i'll work, as said above, under default OpenOS, meaning that OpenOS will be loaded first and then an graphical user interface management program will be loaded instead of default console to work with the default OpenOS environment. Thanks and sorry for this.
I'm writing a custom OS for educational purposes and I'm having issues getting keyboard input. Everything completely works in OpenOS so everything is hooked up correctly. My init.lua code Here is my keyboard code I've copied the dofile function from OpenOS so it should work with my code.
Hello, I am experiencing some problems using Open Computers. I set up a tier-3 computer connected to a network containing a few other computers and a raid system. When I set up the tier-3 computer I put in an OpenOS disk and enter the install command to copy the OS to the hard drive. The computer works fine and will boot. However, whenever I connect an OC cable to the computer to connect it to the rest of the network (which is pretty small, only a server rack, a raid and one other computer) I cannot reboot the computer. Whenever I do that it seems to get stuck in the init.lua script. It is the original script without any modifications. At some point the script outputs 'Initializing components...'. And that will stay there forever. However, as soon as I disconnect the cable to the network the script will continue and the prompt will appear. Has anyone experienced the same problem and maybe knows a solution to this? Please let me know if any more information is required. Greetz, Sieberik
Hello Community, I want to program my own OS for OC and have a problem: I don't know, how exactly the boot works. I tried to use component.anything() and it didn't worked, because the variable component doesn't exists. I can't use require('component') too. Any ideas to solve this problem? Luca
Getting Started A Open Computer's Tutorial By PotatoTrumpet Introduction A mod like Open Computers (OC) can be confusing to new users. Some people need a little guidance to get started. If you need more in-depth help, check out the wiki. It is recommended that you know the basics of the language that we will be programing in, know as Lua. It is recommended to read the Lua 5.2 Reference Manual to get the basics of Lua down. Components and Modules Assuming you know the crafting recipes for the parts required, here is what you will need for this tutorial: 1x Power Converter 1x Capacitor 1x Computer Case (Tutorial uses Tier 1) 1x Monitor (Tutorial uses Tier 1) 1x Keyboard 1x CPU (Tutorial uses Tier 1) 1x Memory (Tutorial uses Tier 1) 1x Graphics Card (Tutorial uses Tier 1) 1x Hard Disk Drive Tutorial uses Tier 1) 1x Disk Drive 1x Blank Floppy Disk Version Dependent: If you are using version 1.3.0 Beta 1 or Higher, you will also need a floppy disk with Open OS on it. Part 1 : Power Unless it is disabled in the config, Computers require power. For this tutorial, I have already set up a power supply. Once you have your power supply set up, you need to make it usable! Hook up the power to the Power Converter as shown. Next, You need a way to store the power. Place the Capacitor as shown. Part 2: Building Blocks Now, its time to start building the Computer. Start by putting the Computer Case as show, then a monitor on top. Next, we need a place to put the floppy disks, plop the Disk Drive down to the right or left of the Computer Case. As basic logic assumes, you need a keyboard to interact with the computer. Place a keyboard on the left, right, or back of the monitor. No matter where you place it on the monitor, if you click the monitor, it will open up. Part 3: The Inner Workings All that you have now is a Case, Monitor, and Disk Drive. For the computer to function, it will need the following: a CPU, a Graphics Card, some Memory, and a Hard Disk Drive. To install these devices, you need to right click on the Computer Case. When the GUI opens up, you will see slots for different items. The easiest way to put the items in the correct slots is to Shift-Click them in. Once everything is installed, you are ready for the next part. Part 4: Starting Up ------------------------------------------------ IF YOU ARE NOT USING 1.3.0 OR HIGHER, YOU ARE DONE ------------------------------------------------ Now, the computer needs something to boot. Put the floppy disk labeled "openos" in the Disk Drive. Now, go to the Case and click the Giant Green Power Button. The computer is now usable! Now, you need to install the OS. To do this, Right click on the Monitor. A GUI should appear, this is called the 'Terminal'. Type 'install' into it. It should ask you to press 1 to install it to the "Hard Disk Drive". Press 1 then enter. It will then ask you if you want to reboot. I suggest rebooting so that it boots off the HDD. At this time, you should remove the floppy from the disk drive. You can now use your computer. Tutorial Version 188.8.131.52 Written on 6/12/14 at 1:05 PM CDT (Chicago)