Orbiter-Forum  

Go Back   Orbiter-Forum > Orbiter Addons > Addon Development
Register Blogs Orbinauts List Social Groups FAQ Projects Mark Forums Read

Addon Development Developers post news, updates, & discussions here about your projects in development.

Reply
 
Thread Tools
  #1  
Old
Artlav's Avatar
Artlav Artlav is offline
Aperiodic traveller

Default Linux MFD (Updated 120616)
by Artlav 08-15-2011, 05:29 PM

Quote:
-You can't install Linux on DeltaGlider's computer.
Aprom Designs, Department of Abnormality presents:
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.
Reply With Quote
Views 3500 Comments 39
Total Comments 39

Comments

Old 08-15-2011, 06:38 PM   #2
Jarvitä
Orbinaut
Default

Quote:
writing autopilots in bash scripts
CHALLENGE ACCEPTED
Jarvitä is offline   Reply With Quote
Old 08-15-2011, 07:44 PM   #3
Face
Moderator
 
Face's Avatar


Default

"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...
Face is offline   Reply With Quote
Old 08-15-2011, 08:56 PM   #4
martins
Orbiter Founder
Default

Excellent! Orbiter may never be ported to Linux, but at least Linux has now been ported to Orbiter.
martins is offline   Reply With Quote
Old 08-15-2011, 09:59 PM   #5
vchamp
Orbinaut
 
vchamp's Avatar
Default

Quote:
Originally Posted by Face View Post
 "In Soviet Russia, Linux runs on Orbiter"
Quote of the month

Artlav

Are there limits of what can be done in Orbiter?
vchamp is offline   Reply With Quote
Thanked by:
Old 08-15-2011, 09:59 PM   #6
Wishbone
Clueless developer
 
Wishbone's Avatar
Default

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...
Wishbone is offline   Reply With Quote
Old 08-15-2011, 10:08 PM   #7
Poscik
Addon Developer
 
Poscik's Avatar
Default

That is epic win.
Poscik is offline   Reply With Quote
Old 08-16-2011, 01:38 AM   #8
PeriapsisPrograde
Wannabe addon dev
 
PeriapsisPrograde's Avatar
Default

Quote:
Originally Posted by Wishbone View Post
 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...
Eventually you get a MFD.


All !
PeriapsisPrograde is offline   Reply With Quote
Old 08-16-2011, 06:51 AM   #9
Rtyh-12
Orbinaut
 
Rtyh-12's Avatar
Default

Cool... I guess
Rtyh-12 is offline   Reply With Quote
Old 08-16-2011, 09:52 AM   #10
Artlav
Aperiodic traveller
 
Artlav's Avatar

Default

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.
Artlav is offline   Reply With Quote
Old 08-16-2011, 10:14 AM   #11
Xyon
Error 418: I'm a teapot
 
Xyon's Avatar


Default

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.
Xyon is offline   Reply With Quote
Old 08-16-2011, 10:45 AM   #12
Artlav
Aperiodic traveller
 
Artlav's Avatar

Default

Quote:
Originally Posted by Xyon View Post
 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.
I've mapped a part of memory between linux and orbiter, and made it userspace-accessible.

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.
Artlav is offline   Reply With Quote
Old 08-16-2011, 11:10 AM   #13
n72.75
Donator
 
n72.75's Avatar


Default

Oh my God, its full of stars...
n72.75 is offline   Reply With Quote
Old 08-16-2011, 05:57 PM   #14
Urwumpe
Donator
 
Urwumpe's Avatar

Default

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.
Urwumpe is online now   Reply With Quote
Old 08-16-2011, 06:46 PM   #15
Wishbone
Clueless developer
 
Wishbone's Avatar
Default

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.
Wishbone is offline   Reply With Quote
Reply

  Orbiter-Forum > Orbiter Addons > Addon Development


Thread Tools

Posting Rules
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
Forum Jump


All times are GMT. The time now is 01:29 PM.

Quick Links Need Help?


About Us | Rules & Guidelines | TOS Policy | Privacy Policy

Orbiter-Forum is hosted at Orbithangar.com
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Copyright ©2007 - 2012, Orbiter-Forum.com. All rights reserved.