All times are UTC-06:00




Post new topic  Reply to topic  [ 57 posts ] 
Author Message
 Post subject: BootX for Pegasos
PostPosted: Tue Mar 07, 2006 4:46 am 
Offline

Joined: Fri Oct 22, 2004 6:00 am
Posts: 81
My project has more in common with OpenDarwin (especially with XPostFacto) than with MOL so i decided to move here.
Well, i've got some results yesterday. BootX actually started working. Currently i'm working on adapting additional Forth packages (BootX installs some) to Pegasos firmware.
In any case (success or failure) source code of modified BootX will be availible in OpenDarwin CVS, consider it as a step to porting OpenDarwin too. Currently i've subscribed to opendarwin-hackers mailing list and will discuss the project there.
Success probability is ~80% by now.


Top
   
 Post subject:
PostPosted: Tue Mar 07, 2006 5:24 am 
Offline

Joined: Tue Jun 14, 2005 8:30 pm
Posts: 78
Location: Germany
I am not sure but isnt OpenDarwin already running on Pegasos?


Top
   
 Post subject:
PostPosted: Tue Mar 07, 2006 8:42 am 
Offline

Joined: Fri Oct 22, 2004 6:00 am
Posts: 81
Current source code shows that it isn't. My BootX source code is recent one and it has no support for Pegasos. The xnu kernel itself also will work only on machines with mac-io device note present in OpenFirmware tree (if mac-io is not found the kernel panics), this is also not about Pegasos.
My BootX will include a small trick which bypasses this check in the kernel. There are no other places in the code which would directly prevent Darwin (or MacOS X) from booting up on the Pegasos so i expect it to boot after this. Next problem can be absence of appropriate hardware drivers but it's also solvable because it's already solved in a project called XPostFacto for older Macs unsupported by standard MacOS X version. Unlike Linux hardware drivers in xnu are loaded and linked dynamically at boot time by the BootX so it's possible to load a 3rd party drivers (this is what XPostFacto does).


Top
   
 Post subject:
PostPosted: Tue Mar 07, 2006 9:30 am 
Offline

Joined: Tue Jun 14, 2005 8:30 pm
Posts: 78
Location: Germany
Hm, too bad I don't have a Pegasos anymore to try to help a bit in this way.


Top
   
 Post subject:
PostPosted: Tue Mar 07, 2006 3:53 pm 
Offline

Joined: Sun May 08, 2005 8:46 pm
Posts: 559
Location: Paris
sounds promising ! :thumbsup:


Top
   
 Post subject: Re: BootX for Pegasos
PostPosted: Sat Mar 11, 2006 6:33 pm 
Offline

Joined: Tue Mar 07, 2006 2:57 pm
Posts: 2
Quote:
My project has more in common with OpenDarwin (especially with XPostFacto) than with MOL so i decided to move here.
Well, i've got some results yesterday. BootX actually started working. Currently i'm working on adapting additional Forth packages (BootX installs some) to Pegasos firmware.
In any case (success or failure) source code of modified BootX will be availible in OpenDarwin CVS, consider it as a step to porting OpenDarwin too. Currently i've subscribed to opendarwin-hackers mailing list and will discuss the project there.
Success probability is ~80% by now.
Wow, this is great! I'm anxious to see this in action.

Waiting to see this discussed on hackers@, good luck!


Top
   
 Post subject:
PostPosted: Sat Mar 11, 2006 6:36 pm 
Offline

Joined: Tue Mar 07, 2006 2:57 pm
Posts: 2
Quote:
Current source code shows that it isn't. My BootX source code is recent one and it has no support for Pegasos. The xnu kernel itself also will work only on machines with mac-io device note present in OpenFirmware tree (if mac-io is not found the kernel panics), this is also not about Pegasos.
My BootX will include a small trick which bypasses this check in the kernel. There are no other places in the code which would directly prevent Darwin (or MacOS X) from booting up on the Pegasos so i expect it to boot after this. Next problem can be absence of appropriate hardware drivers but it's also solvable because it's already solved in a project called XPostFacto for older Macs unsupported by standard MacOS X version. Unlike Linux hardware drivers in xnu are loaded and linked dynamically at boot time by the BootX so it's possible to load a 3rd party drivers (this is what XPostFacto does).
I think the biggest problem is the drivers for the Marvell stuff, which AFAIK has no open documentation. The linux drivers might serve as a reference, but little if any code could be reused to write the IOKit drivers.


Top
   
 Post subject:
PostPosted: Tue Mar 14, 2006 6:26 am 
Offline

Joined: Fri Oct 22, 2004 6:00 am
Posts: 81
Quote:
I think the biggest problem is the drivers for the Marvell stuff, which AFAIK has no open documentation.
There's nothing to drive by the OS in Marvell except Gigabit Ethernet.
Quote:
The linux drivers might serve as a reference, but little if any code could be reused to write the IOKit drivers.
Well, there was some code in BSD despite it was not finished. Probably can serve as code source.


Top
   
 Post subject: Re: BootX for Pegasos
PostPosted: Tue Mar 14, 2006 6:28 am 
Offline

Joined: Fri Oct 22, 2004 6:00 am
Posts: 81
Quote:
Waiting to see this discussed on hackers@, good luck!
I've subscribed to hackers@opendarwin.org, it's completely silent. Does noone need opendarwin? Someone on IRC told that there are no users of opendarwin, there are only some developers. But... One thing has come to my mind. There is still no working BSD version for the Pegasos. Darwin is based on BSD, may be it could fulfill this gap?


Top
   
 Post subject: Re: BootX for Pegasos
PostPosted: Tue Mar 14, 2006 10:09 am 
Offline

Joined: Thu Jul 28, 2005 12:41 am
Posts: 1066
Quote:
One thing has come to my mind. There is still no working BSD version for the Pegasos. Darwin is based on BSD, may be it could fulfill this gap?
There is already a FreeBSD PPC port, which works on Macintosh machines. Once I contacted the main developer, and he wrote me, that it should not be too difficult to port it to Pegasos. He just does not have enough time to make it.
The FreeBSD PPC mailing list is available at: http://lists.freebsd.org/mailman/listinfo/freebsd-ppc
And homepage (if we can call it that :-) ) of lead developer is available at: http://people.freebsd.org/~grehan/
CzP


Top
   
 Post subject: Re: BootX for Pegasos
PostPosted: Wed Mar 15, 2006 2:52 am 
Offline

Joined: Fri Oct 22, 2004 6:00 am
Posts: 81
Quote:
There is already a FreeBSD PPC port, which works on Macintosh machines. Once I contacted the main developer, and he wrote me, that it should not be too difficult to port it to Pegasos. He just does not have enough time to make it.
To tell the truth i personally have no interest in BSD itself. There's already Linux and i see no things which can be done on BSD and can't be done on Linux. Moreover, i've had some experience with FreeBSD5.4 on x86 and got very bad feelings. As a desktop OS it is unisable, all GUI apps crash every 20 minutes, even simple things like gedit. Linux totally rules out BSD from desktops. Besides this, there are some applications for Linux which are absent in BSD. And running BSD kernel with Linux software using Linux emulation layer looks rather stupid to me, there is Linux kernel for this.
In addition ports system makes BSD totally useless on systems without unlimited high-bandwidth connection to the Internet. And even with this building KDE or Mozilla or OpenOffice from ports is... huh... terrible idea!
The only thing i liked in BSD is its kernel. It boots much faster than Linux one. But horribly low quality userland simply doesn't allow to take any real profit of it. In contrary, Linux kernel supports much more hardware and subsystems than BSD (it even doesn't have IRdA!).

Summary is: i totally frustrated and disliked BSD. :(


Top
   
 Post subject: Re: BootX for Pegasos
PostPosted: Wed Mar 15, 2006 8:43 am 
Offline

Joined: Thu Jul 28, 2005 12:41 am
Posts: 1066
Quote:
Moreover, i've had some experience with FreeBSD5.4 on x86 and got very bad feelings.

...

Summary is: i totally frustrated and disliked BSD. :(
Because you tried FreeBSD at the worst possible time. 4.X was rock solid both kernel and userland. Than they made a too large step, and none of the 5.X releases were really stable. There were problems both on the kernel and the application level. I actually skipped the 5.X series where I could and jumped from 4.X directly to 6.X where it was possible.

For any release, there are a lot of prebuilt packages, you are not required to use the port system. But it's excelent to build custom systems, this is where the whole idea of Gentoo comes from.

So, you should try again with 6.0 or with a 6.1 prerelease!

CzP


Top
   
 Post subject:
PostPosted: Tue Mar 28, 2006 5:37 am 
Offline

Joined: Wed Feb 23, 2005 11:00 am
Posts: 6
Location: Switzerland
I do agree with czp, the 4.x series is my all-time favorite OS for stability.
I am using the 6.x kernel right now but I keep running my main server on 4.11.

There have been a lot of changes since 4.x (perl -> c, etc...), a lot of things dropped.

Too bad it's like that...


Top
   
PostPosted: Thu Apr 27, 2006 1:41 am 
Offline

Joined: Fri Oct 22, 2004 6:00 am
Posts: 81
Due to inactivity of OpenDarwin i've joined another project called FreeDarwinhttp://freedarwin.foxybanana.com.
We've set up a GIT repository and i've imported my current BootX source code there. The IRL is:
git+ssh://git@foxybanana.com/home/alex/freedarwin/bootx-devel.git
I've also got a co-developer interested in running Darwin/OS X on IBM RS6000 machine.
You're welcome to join if you wish.


Top
   
PostPosted: Thu Jun 15, 2006 7:33 am 
Offline

Joined: Fri Oct 22, 2004 6:00 am
Posts: 81
The project has passed stage 1. BootX works. It succesfully loads the kernel, drivers set and launches the kernel.
I don't know what happens next, it simply hangs. I see no output from the kernel on the screen because Darwin kernel expects a graphical framebuffer and Pegasos firmware works in some weirdly-broken text mode (looks like PC VGA text mode but one character occupues 8 bytes, i've figured out by writing 256 bytes from 0 to 255 at card's PCI space base address).
Well, the next stage is: write some helper, actually a minidriver which will detect the video card and switch it to graphics mode by itself, without help of OpenFirmware.
So bad news: it will work only with GFX cards it knows; good news: it is in progress and has some success.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 57 posts ] 

All times are UTC-06:00


Who is online

Users browsing this forum: No registered users and 9 guests


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

Search for:
Jump to:  
cron
PowerDeveloper.org: Copyright © 2004-2012, Genesi USA, Inc. The Power Architecture and Power.org wordmarks and the Power and Power.org logos and related marks are trademarks and service marks licensed by Power.org.
All other names and trademarks used are property of their respective owners. Privacy Policy
Powered by phpBB® Forum Software © phpBB Group