Boot in console mode

Hi,

I want to boot Haiku only in console mode, no GUI, frame buffer, video drivers etc.
Can you tell me what I need to change?
Or where I can read about exact boot sequence (can’t find anything specific to this).

10x,
Filip

I’m not sure it’s possible currently.

There’s a safe mode console (hit spacebar at boot, choose the safe mode options menu), but it boots into a VESA framebuffer mode with a bash prompt.

GDB is on the system, and C/C++ devels often map it to the second serial port for debug ouput, so I’ll guess that there are drivers that that could be utilized.

For my needs, it was easier to activate the sshd, as that also allowed multiple connections, and from a decent scrollable-history terminal (Xfce4 or Mac OS X) rather than a serial terminal or basic 80 col X 24 line BIOS-driven VGA. The TiltOS collection applies needful POSIX extras and more that make setting up multiple users easier.

CAVEAT: TiltOS extras may not work on snapshots later than the original Alpha R1 iso/image, as devels are still making changes - and in a different direction from Unix/Posix. ‘From a distance’ they look closer in practice to a locked-down Win NT 3.5 - before MS promoted the GUI to Ring 0.

As to interrupting Haiku’s initialization before it starts using the desktop and video infrastrucure, browse through /boot/system/boot/Bootscript to see how things are sequenced.

It is possible to start sshd and NOT start the ‘full’ GUI, then kick-off the GUI from within an active ssh session if that is what you are after.

Otherwise - I’m not sure I’d waste the time in ‘console’ mode.

Haiku has a very usable terminal within the GUI already. Zoomable, even. And the GUI is both reasonably stable and easily made to recover gracefully from such errors as I have handed it (so far…).

Haiku is a graphical OS. There is no console mode, unless someone writes one.

10x for replays.
Don’t get me wrong, I love haiku GUI, in fact, I like that it is not console oriented as Linux.
However, I was wondering if there is a way to put it into a internet router :slight_smile:
Where there is no GUI at all.

[quote=fil]10x for replays.
Don’t get me wrong, I love haiku GUI, in fact, I like that it is not console oriented as Linux.
However, I was wondering if there is a way to put it into a internet router :slight_smile:
Where there is no GUI at all.[/quote]

First of all - a ‘headless’ device usually doesn’t care if there is a GUI that was never fired-off. Just set up ssh and don’t fire the GUI.

Secondly, there is no need to ‘code’ a console anyway. If your planar was made any time in the last 25 years, AND can boot an OS at all, AND has a BIOS settings menu, then it probably has code for not one but TWO consoles.

The one that displays colorized BIOS settings to a VGA, is IIRC, ANSI-compatible (hence the colors). The BIOS almost certainly also still carries in it a legacy TTY-compatible (KSR-33) or even DEC VT-52 (or later) compatible serial console - even if there is no physical serial port on the planar.

So the only coding you need to do would be to redirect the Haiku I/O stream to utilize the appropriate portion of the BIOS. Finding where to hook it into Haiku is a separate task - BUT if you clock it down, you may catch it writing text to the screen before the GUI comes full-up, so ‘not hard’ if one knows how to do these things at all.

ssh is easier, plus needs no physically attached keyboard. One can also run an httpd on Haiku and use a web interface, as most packaged routers do.

All that said - using Haiku at its current state of development for an internet router would be irresponsible.

Haiku has neither an appropriate security model (yet), nor the mature routing and packet management tools that are taken for granted in a Linux or *BSD - most especially ‘pf’ in OpenBSD, which is just as ‘cheap’ as Haiku, and - in router/firewall-only form, not a lot ‘fatter’. OpenBSD lives in a lot of such devices that ‘JFW’.

Security philosophy quite aside, I’m not sure anyone yet knows how robust Haiku’s IP stack is under heavy load - eg: how well it handles a simple DoS or brute-force attack.

For once, we are looking at a product designed to be a great one-person-at-a-time Desktop. Not a server with a desktop glued on top of it. Appropriate tradeoffs have been made.

If you want to build a truly minimalist router, have a look at one of the many F/OSS embedded real-time OS’en - as router makers do.

If you want to code for one that is still young and not carrying any legacy baggage, I’d suggest you go ogle the Prex operating system.

I think that Haiku doesn’t belong on a router :stuck_out_tongue:

It is, after all, a desktop OS. I’m not sure what the advantage of running Haiku on a headless device is… especially a router - considering the design of the OS (and kernel) was pretty much never intended to run on such devices.

On a router - no. Not now, probably not ever. Plenty of solutions to that problem, and good ones.

But here is something Haiku is already damned handy for - even with hardly any ‘mainstream’ apps or eye-candy customizations:

How many times does one have short-term need of a keyboard that fits human hands and a screen large enough to display ‘lots’ to go ogle for tech info, craft a document, email, or to ssh-in to a server in trouble? ‘often’ in my case - and often no more than that. (*)phones and PDA’s are too small all around, Laptops too heavy or simply not to hand.

But Haiku on a USB or flash not only lets me borrow the nearest bootable device that does have the needfuls - it lets me do so with a high degree of certainty that kbd, mouse, screen, and NIC will all work at their best. And ‘right away’ - not after 20 minutes of fiddling with Xorg configuration or a NIC. AND I get a great screen with razor-sharp readability.

Can I do that with Linux or a *BSD? Sure. Sometimes even as quickly. Sometimes.

But ordinarily not ‘right out of the box’ - let alone at an Alpha R1. And not with a zoomable-screen to aid my tired old eyes.

Handy, that… all I could ‘wish’ is that it had been the SeaMonkey suite that was ported instead of Firefux. Then I’d have a first-class MUA, RSS and newsreader as well as browser - even a marginal html editor that could do DTP’ish documents in a pinch. OpenBloatoffus need not apply.

JM2CW

Prex OS looks good for my project…but indeed I was hope I can strip all unnecessary stuff from Haiku and run it on such device.
I just need TCP/IP stack (+ some other USB etc), it does not need to be perfect.
Function of this router will be different from classic ones.
I’m building home network of some devices, no hack attacks or something.
And I don’t like/trust or have fate in linux at all…despite the fact that it will fit well for my case.

Just want to know exact boot sequence of Haiku and if I can strip it and make it to boot.
SSH is ok as long as I can run kernel.
If I have console (no colors or other stuff) it will be easy for me to strip it.

10x for reply’s :slight_smile:

Haiku is really, really the wrong starting point for a headless router - it just goes against the entire ‘Desktop’ design philosophy.

If you are not even using the GUI, the only ‘plus’ Haiku has left is the use of *BSD network drivers. As expected, the *BSD’s also have those, and Linux usually has more still.

I only suggested Prex 'coz I thought you wanted to code, learn, grow.

‘Stripping’ is a Lin-child trick akin to turning a perfectly good self-propelled lawnmower into a shit-lousy ‘go cart’.

Creative it ain’t.

JM2CW

you might say that haiku does belong on a media server though because of BFS and all and you might want to run it headless dunno

oook, no Haiku then :frowning:
Just played with Prex…it is intriguing.
There is a lot of coding in my project indeed, so this is not a problem :slight_smile:

10x

cb88 -

‘headless’ for a media server only if the GUI actually consumed any significant resources. Check its ‘Threads and CPU Usage’ and ‘Memory Usage’ and find it uses zilch when not asked to do anything. So it might just as well be switched-on even if no physical screen. Much handier to remote-desktop to GUI ‘hooks’ than try to teach ‘the world’ how to use a CLI. See the typical new iDTV menu & setup.

fil -

Prex is a nice clean start. Very little baggage, yet there is a security model in work, POSIX compliance, and such. Not expected to be a desktop, but should surely make a nice router or similar ‘smart appliance’. Robotics, even…

If I was even 20 years younger, I’d love to recode it in asm for the critical sections, and a mix of modern languages for the rest.