RetroBSD

2.11BSD operating system for microcontrollers
It is currently Mon Aug 03, 2020 11:47 pm

All times are UTC




Post new topic Reply to topic  [ 192 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 10  Next
Author Message
PostPosted: Mon Dec 01, 2014 1:56 pm 
Committer
User avatar

Joined: Thu Oct 11, 2012 8:45 am
Posts: 1801
Location: Room 217, Floor 8, Arm 8, Wheel S7, Mars Base Alpha 3
I'm still seeing random hangs...

Mostly when I try and run something more complex, like trying to telnet (with inetd running). Right now it's "hung" while running fsck after a forced reset.

TTY is responding, but the processes seem to have hung.

_________________
Why not visit my shop? http://majenko.co.uk/catalog
Universal IDE: http://uecide.org
"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".


Top
 Profile  
 
PostPosted: Tue Dec 02, 2014 5:05 am 
Committer
User avatar

Joined: Wed Oct 10, 2012 11:01 pm
Posts: 1081
Location: Sunnyvale, CA
I eventually chose the name: LiteBSD.
Please, update your snapshots: https://github.com/sergev/LiteBSD

For me, with moderate load it works pretty stable. Flood ping runs for hours with no packet loss. High paging rate can cause it to hang, though. There is also a minor memory leak in VM routines.

rayg wrote:
What has to run, to get telnet 127.0.0.1 working, is it just inetd?
It should be possible to run telnetd without inetd, I believe. Something like "/usr/libexec/telnetd -debug &".


Top
 Profile  
 
PostPosted: Tue Dec 02, 2014 10:43 am 
Committer
User avatar

Joined: Thu Oct 11, 2012 8:45 am
Posts: 1801
Location: Room 217, Floor 8, Arm 8, Wheel S7, Mars Base Alpha 3
vak wrote:
I eventually chose the name: LiteBSD.

Isn't that just a re-hashing of 4.4BSD-Lite without the 4.4?
How about KatBSD? (Kat is Haitian Creole for Four)

_________________
Why not visit my shop? http://majenko.co.uk/catalog
Universal IDE: http://uecide.org
"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".


Top
 Profile  
 
PostPosted: Tue Dec 02, 2014 1:07 pm 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2401
Location: Rapa Nui
Why not RetroBSD?
VW Passat still holds its name, even the car has evolved since '73.

RetroBSD Mark IV

_________________
Pukao Hats Cleaning Services Ltd.


Top
 Profile  
 
PostPosted: Tue Dec 02, 2014 1:32 pm 
Committer
User avatar

Joined: Thu Oct 11, 2012 8:45 am
Posts: 1801
Location: Room 217, Floor 8, Arm 8, Wheel S7, Mars Base Alpha 3
RetroBSD GTi?

_________________
Why not visit my shop? http://majenko.co.uk/catalog
Universal IDE: http://uecide.org
"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".


Top
 Profile  
 
PostPosted: Tue Dec 02, 2014 2:23 pm 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2401
Location: Rapa Nui
RetroBSD MX
RetroBSD MZ
RetroBSD MY

_________________
Pukao Hats Cleaning Services Ltd.


Top
 Profile  
 
PostPosted: Tue Dec 02, 2014 2:49 pm 
Contributor

Joined: Mon Nov 12, 2012 1:34 pm
Posts: 1092
The master hath spoken. LiteBSD !!

Wiz


Top
 Profile  
 
PostPosted: Tue Dec 02, 2014 3:49 pm 
Committer
User avatar

Joined: Thu Oct 11, 2012 8:45 am
Posts: 1801
Location: Room 217, Floor 8, Arm 8, Wheel S7, Mars Base Alpha 3
wiz wrote:
The master hath spoken. LiteBSD !!

Wiz

LiteBSD .44?

_________________
Why not visit my shop? http://majenko.co.uk/catalog
Universal IDE: http://uecide.org
"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".


Top
 Profile  
 
PostPosted: Tue Dec 02, 2014 4:32 pm 

Joined: Mon Nov 24, 2014 1:07 pm
Posts: 58
RetroBSD Lite 4.4 ?


Top
 Profile  
 
PostPosted: Tue Dec 02, 2014 6:29 pm 
Committer
User avatar

Joined: Wed Oct 10, 2012 11:01 pm
Posts: 1081
Location: Sunnyvale, CA
Well... RetroBSD is based on 2.11bsd, which is a totally different architecture (and sourcebase). That's why it's 'retro' - nobody uses swapping for process rescheduling these days. On the contrary, LiteBSD, or 4.4bsd, is not outdated in any sense. It's a modern operating system, may be less featured than modern FreeBSD or Mac OS X, but architecturally quite a peer.

Different sourcebases deserve separate names, so let it be LiteBSD.


Top
 Profile  
 
PostPosted: Tue Dec 02, 2014 7:40 pm 
Committer
User avatar

Joined: Thu Oct 11, 2012 8:45 am
Posts: 1801
Location: Room 217, Floor 8, Arm 8, Wheel S7, Mars Base Alpha 3
LiteBSD "Ashamed Antelope".

_________________
Why not visit my shop? http://majenko.co.uk/catalog
Universal IDE: http://uecide.org
"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".


Top
 Profile  
 
PostPosted: Tue Dec 02, 2014 8:31 pm 
Committer
User avatar

Joined: Thu Oct 11, 2012 8:45 am
Posts: 1801
Location: Room 217, Floor 8, Arm 8, Wheel S7, Mars Base Alpha 3
Just found the best ever Linux (and OS X) terminal program: https://github.com/Swordfish90/cool-retro-term
Attachment:
retro.png
retro.png [ 451.59 KiB | Viewed 12200 times ]

_________________
Why not visit my shop? http://majenko.co.uk/catalog
Universal IDE: http://uecide.org
"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".


Top
 Profile  
 
PostPosted: Tue Dec 02, 2014 8:55 pm 
Committer
User avatar

Joined: Wed Oct 10, 2012 11:01 pm
Posts: 1081
Location: Sunnyvale, CA
Looks nice.

majenko wrote:
LiteBSD "Ashamed Antelope".
Well... How about go back to "Incomplete Indri". :)


Top
 Profile  
 
PostPosted: Wed Dec 03, 2014 2:54 pm 
Contributor

Joined: Mon Nov 12, 2012 1:34 pm
Posts: 1092
Hi Serge :),

So we have LiteBSD and LiterBSD(retro) :).

Small is beautiful !!

Nice work :).

It seems to me that making the kernel small but able to work on any MIPS version is the goal. I did a MIPS lite for fpga without mult/div. It was LOTS smaller and faster too. Mult and div were emulated in software. A quick scan of most software will confirm mult and div are almost never used in real code. So the slower speed of emulation didn't make much difference. But the faster and smaller core made lots of overall difference. Somewhere I have a dual MIPS with DDR for a fairly cheap Xilinx FPGA with a bunch of other CPUs and stuff in it. Food for thought about what is possible?

If LiteBSD were compiled with for that early version of MIPS it 'should' just run :).

Wiz


Top
 Profile  
 
PostPosted: Wed Dec 03, 2014 6:54 pm 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2401
Location: Rapa Nui
LightBSD

PS: "Lite" means usually a crap..

_________________
Pukao Hats Cleaning Services Ltd.


Top
 Profile  
 
PostPosted: Wed Dec 03, 2014 9:16 pm 
Committer
User avatar

Joined: Wed Oct 10, 2012 11:01 pm
Posts: 1081
Location: Sunnyvale, CA
Hi Wiz and Pito,

Technically, LiteBSD can work on any MIPS core which has MMU (so called TLB, or translation lookaside buffer). Other architectures are possible, like m68k for example. But not Cortex-M as ARM M architecture does not include MMU, as far as I know.

Another important aspect is interrupt controller. MIPS architecture allows wide variations in implementation of interrupt controller for chip manufacturers. So the kernel should have some compile time options to cover all possible differences.

It would be great to run LiteBSD on MIPS FPGA core someday.

Pito, we already have the term 'Lite' in the genetics, as it all takes it's roots from 4.4BSD-Lite distribution. I don't think it sounds so badly. A quote from Wikipedia:
Quote:
[Lite:] A simpler version, or subset, of something (especially software), in which complexity is forgone for the sake of easier application (or modified application)


Top
 Profile  
 
PostPosted: Wed Dec 03, 2014 10:47 pm 
Contributor

Joined: Mon Nov 12, 2012 1:34 pm
Posts: 1092
Hi Serge and Pito,

That MIPS design probably didn't have an MMU, but I suppose it could be added or some work around figured out? The mult/div needed to trap those instructions which IIRC wasn't too hard.

To me its all about small, simple, easy to understand and easy to modify/add to.

IMHO We have a neat thing going on :) !!

For some apps a piece of FPGA fabric can be VERY nice.

Just one chip and a bootloader.

Wiz


Top
 Profile  
 
PostPosted: Thu Dec 04, 2014 4:10 am 
Committer
User avatar

Joined: Wed Oct 10, 2012 11:01 pm
Posts: 1081
Location: Sunnyvale, CA
Without MMU, you can only run RetroBSD, not LiteBSD.
Lack of mul/div is not so hard to emulate in the kernel.

BTW, I just fixed a bug in pseudo-terminals, and now it's possible to telnet to self:
Code:
# /usr/libexec/telnetd -debug &
# telnet 127.0.0.1
Trying 127.0.0.1...
Connected to 127.0.0.1.
Operating in obsolete linemode
Local character echo
Escape character is '^]'.


4.4BSD-Lite (bsd.net) (ttyp0)

login: root
Last login: Mon Dec  1 01:48:43 on tty4
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
        The Regents of the University of California.   All rights reserved.

4.4BSD-Lite UNIX #1: Fri Apr 01 00:00:00 PDT 1994

Welcome to 4.4BSD-Lite!

erase ^H, kill ^U, intr ^C status ^T
Don't login as root, use the su command.
# ps alxw
  UID   PID  PPID CPU PRI NI   VSZ  RSS WCHAN  STAT TT       TIME COMMAND
    0     0     0   0 -18  0     0    0 schedu DLs  ??    0:00.14 (swapper)
    0     1     0   2  10  0   172    0 wait   IWs  ??    0:00.36 /sbin/init
    0     2     0  62 -18  0     0    0 -      RL   ??    0:17.65 (pagedaemon)
    0    29     1   1  18  0    20    0 pause  SWs  ??    0:02.58 update
    0    44    36   0   2  0   236    0 select S    ??    0:02.46 /usr/libexec/telnetd -debug
    0    46    44   2  10  0   244    0 wait   Ss   p0    0:04.29 -sh (sh)
    0    48    46   2  28  0   204    0 -      R+   p0    0:00.20 (ps)
    0    36     1   0  10  0   244    0 wait   SWs   4    0:03.14 -sh (sh)
    0    45    36   0   2  0   284    0 select SW+   4    0:02.23 telnet 127.1
# exit
Connection closed by foreign host.
[1] 38 Exit 1                 /usr/libexec/telnetd -debug
# _


Top
 Profile  
 
PostPosted: Fri Dec 05, 2014 4:46 pm 

Joined: Fri May 23, 2014 4:04 pm
Posts: 10
Neat. Never thought I'd see someone bothering to bring up 4.4 again on anything!

There is a distinction in types of MMU that is important. Many of the ARM and embedded MIPS cores have an MMU of sorts (however minimal). What they do not have is any kind of address remapping/translation.

4BSD needs address virtualisation, 2BSD does not although both need address translation (base/limit being sufficient for 2BSD - or in the Retro case its dodged by the one process in RAM thing). Fixing the address translation requirement is doable but horrible (some v7 ports did that).

4BSD also needs restartable instructions - that is you must be able by some means (fair or foul - often quite foul) to restart the instruction that trapped with a page translation exception. 2BSD doesn't need this - and the PDP11 can't in fact do it.

In the "MMUless" Linux case the ARM cores with a PMU run with memory protection but can't run full Linux because they don't support virtualisation or address translation and thus a full fork() and paging.

On the NetBSD/OpenBSD side nobody afaik has ever tackled adding MMUless support, although its certainly possible. 4.4lite while 'cute' is a bit pointless given NetBSD is faster, cleaner and more importantly isn't trivially remotely rootable with hundreds of known documented holes.

(even the xterm in 4.4lite is can be made to execute code just by catting a suitable file!)

Alan


Top
 Profile  
 
PostPosted: Fri Dec 05, 2014 6:17 pm 
Contributor

Joined: Mon Nov 12, 2012 1:34 pm
Posts: 1092
Hi Serge and Alan,

I would be interested in your guess as to complexity of MMU verses MIPS CPU? Mine is in VHDL.

I have not done it, but MMU doesn't sound that bad to me. I gather instruction restart may (?) need to undo some results?

Are there other significant CPU features needed?

And another question: Does this mean that we CAN run huge applications on the MZ with 4.4? Even though they are paged into small pieces and much slower? And is 'user' space kept from seeing kernel space. ( The previous chip had access holes from user to kernel space. )

Most interesting :).

Wiz


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 192 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 10  Next

All times are UTC


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
cron




Powered by phpBB® Forum Software © phpBB Group

BSD Daemon used with permission