![]() |
|
|||||||
| Addon Development Developers post news, updates, & discussions here about your projects in development. |
![]() |
|
|
Thread Tools |
|
by Artlav 08-15-2011, 05:29 PM
Quote:
Linux MFD, a Linux "port" to Orbiter: ![]() Download here: orbides.1gb.ru/orbf/linuxmfd-110815.zip(2.2 Mb) Latest is 120616, info in post #38. This is a completely random waste-an-evening-to-make geek toy - a Linux kernel running in an Orbiter MFD with some programs in it to interface with Orbiter. Sources and patches included. If anyone have any idea how this can be useful in any way (besides writing autopilots in bash scripts), you're welcome. Manual: Linux runs independent of the vessel and opennes of MFD, the MFD acts as a terminal. The interfacing to the vessel is updated to reflect currently focused one. Keys: INP - input a line into console, with enter on end SUS - save state, saved to boot/vmstate RSM - resume saved state RBT - reboot machine UP,DWN - scroll up and down FWD - scroll all the way down Config: boot directory contains boot.txt, where you can specify what to boot. Programming: The VM is MIPS32R1, little-endian, 32Mb of RAM. IOMEM area 0xB4000000..0xB4010000 is interfaced with the plugin and can be used for Orbiter control. initrd is cramfs, easy to make and read. Can be gzipped, can be ext2, etc. Examples of interfacing are in /obin (in PATH), sources are in orbitersdk/samples/linuxmfd myvessel - print vessel name prograde, retrograde, killrot - toggle autopilots Performance: rate parameter in boot/boot.txt If the Orbiter lags, reduce. If the Linux lags, increase. Must be power of 2 (reduce or increase by factors of 2) If not, it will crawl slowly. Last edited by Artlav; 06-15-2012 at 09:53 PM. |
|
Views 3500
Comments 39
|
| Thanked by: | 20 Litre, Arthur Dent, Axertan, boyan3001, Cairan, DanM, Fabri91, Face, FeLUX, Fixerger, garyw, george7378, HR_Oso, Izack, jangofett287, Jarvitä, jimblah, kevin580, Lambo, Lissenberg, martins, Messierhunter, n122vu, n72.75, Nistenf, orb, Pablo49, PeriapsisPrograde, Poscik, River Crab, Rtyh-12, Spacethingy, Stevodoran, TerraMimic, tl8, Tommy, Tschachim, TSPenguin, Urwumpe, Wishbone, Zatnikitelman |
|
|
#2 |
|
Orbinaut
|
Quote:
|
|
|
|
| Thanked by: |
|
|
#3 |
|
Moderator
![]() ![]() ![]() |
"In Soviet Russia, Linux runs on Orbiter"
![]() Just hilarious, Artlav. Great idea!
Last edited by Face; 08-15-2011 at 07:45 PM. Reason: Capitals where capitals are due... |
|
|
|
|
|
#4 |
|
Orbiter Founder
![]() |
Excellent! Orbiter may never be ported to Linux, but at least Linux has now been ported to Orbiter.
|
|
|
|
| Thanked by: | 20 Litre, Arthur Dent, Artlav, boyan3001, communist, DanM, dumbo2007, Eccentrus, Fabri91, garyw, iamwearingpants, indonesianorbinaut, Izack, Jarvitä, Keatah, kevin580, ky, Messierhunter, n122vu, n72.75, Nistenf, N_Molson, orb, orbitingpluto, Pablo49, PeriapsisPrograde, Poscik, Quick_Nick, Spacethingy, tl8, Urwumpe, Xyon |
|
|
#6 |
|
Clueless developer
![]() |
The Zen part of me wonders what happens if I manage to install WINE and run Orbiter inside the Linux MFD, and then activate Linux MFD inside that installation, well you guess the routine...
|
|
|
|
| Thanked by: |
|
|
#7 |
|
Addon Developer
![]() |
That is epic win.
|
|
|
|
|
|
#8 |
|
Wannabe addon dev
|
Quote:
MFD.All !
|
|
|
|
|
|
#9 |
|
Orbinaut
|
Cool... I guess
|
|
|
|
|
|
#10 |
|
Aperiodic traveller
![]() ![]() |
What about taking systems simulation to a new level - you don't just simulate a presence of a spacecraft control computer, you simulate an actual computer with actual software?
If you were making such a computer for real, why not use Linux on it? True, it's not a real-time OS, but neither does Orbiter represent a real spacecraft. That would basically mean a spacecraft control program running on it, with UI and all. An UI that would represent an MFD... A program that would do what a regular MFD would do... Explosive-decompression-scale sucking of resources for externally indistinguishable tasks... Impractical, but adds some serious you-know-you're-addicted-to-Orbiter points. |
|
|
|
| Thanked by: |
|
|
#11 |
|
Error 418: I'm a teapot
![]() ![]() ![]() |
This depends. Can you plug back into the vessel from the Linux? For instance, a /dev/hovengineleft or so? Mount the devices in a specific pattern and allow scripts to control the component thusly... Might be more complex than it's worth, though.
|
|
|
|
|
|
#12 |
|
Aperiodic traveller
![]() ![]() |
Quote:
The meaning of the mapped parts is defined on the side of orbiter plugin (sources provided) - in the demo it gives the current vessel name and have autopilot toggle bits. Under Linux the demo programs like myvessel, prograde, etc, read and write there to do their functions. So, you can link whatever you want both ways. Making it into device nodes only adds complexity at cost of adherence to standards. Last edited by Artlav; 08-16-2011 at 10:47 AM. Reason: sp. |
|
|
|
|
|
#13 |
|
Donator
![]() ![]() ![]() |
Oh my God, its full of stars...
|
|
|
|
|
|
#14 |
|
Donator
![]() ![]() |
LOL, I do something similar on the Black Dart computers, but contrary to your MFD, you will never notice there that the core interfaces of the computer VM are POSIX.
|
|
|
|
|
|
#15 |
|
Clueless developer
![]() |
1. Am against mapping everything to inodes.
2. There should be some visible feedback when the VM is suspended (three stars across the screen?) 3. When I call the command input box by Shift-I, the I gets input into the box (it is not eaten inside the callback function). 4. Will be looking for a gcc cross-compiler, but will be much obliged if someone has got a linky handy. |
|
|
|
![]() |
|
| Thread Tools | |
|
|
|||||
| Quick Links | Need Help? |