Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
75 user(s) are online (62 user(s) are browsing Forums)

Members: 0
Guests: 75

more...

Support us!

Headlines

 
  Register To Post  

BBoot on real Pegasos 2
Just popping in
Just popping in


See User information
I'm tryng to add BBoot 0.8 on real PEGASOS II without any success.
So due I don't waste time I ask for a support.

This is my startup cfg once firmware is started,.
BBoot is case n.5 and does not work, the Pegasos just reboots without letting me to start OS4.

Kickstart.zip contains all current Sys/Kickstart directory.

zip -r Kickstart.zip Kickstart/

Also for BBoot options it's not clear for me il these are commandi line options or not.

Any suggestion?

\ FORTH - Script generated by BootCreator 1.2 (25.01.2007)
\
\ terminal control stuff
\
: TTY.CSI d# 27 EMIT ASCII [ EMIT ;
: TTY.HOME TTY.CSI ASCII H EMIT ;
: TTY.CLR_EOS TTY.CSI ASCII J EMIT ;
: TTY.HOME_CLR TTY.HOME TTY.CLR_EOS ;
\
\ boot menu stuff
\
: my-max-boot-num 5 ;
: my-boot-default 1 ;
: my-boot-delay d# 100 ; \ unit = 100 ms
: my-print-menu ( -- )
TTY.HOME_CLR
." " cr
." Pegasos II - Early Startup Menu" cr
." " cr
." 1: AmigaOS 4.1fe" cr
." 2: MorphOS" cr
." 3: Debian Linux" cr
." 4: MorphOS install or update from cd" cr
." 5: AmigaOS 4.1fe BBoot" cr
." 6: Leave Boot Menu (-)" cr
." " cr
;
: my-boot-case ( num -- )
." " cr
case
1 of " /pci/ide/disk@0,0:0 amigaboot.of " endof
2 of " /pci/ide/disk@0,1:0 boot.img bootdevice mh0" endof
3 of " /pci/ide/disk@0,1:0 vmlinuz-3.16.0-4-powerpc root=/dev/sdb4 radeon.agpmode=-1" endof
4 of " cd boot.img " endof
5 of " /pci/ide/disk@0,0:0 bboot -initrd Kickstart.zip" endof
6 of abort endof
endcase
$boot
;
: my-input-num ( wait-period max-boot-num default-num -- boot-num )
1 \ loop-inc = 1
3 pick 0 do
0d emit
." press 1-"
( wait-period max-boot-num default-num loop-inc )
2 pick ascii 0 + emit
dup 1 = if
." within "
3 pick i - d# 10 / .d
." seconds"
then
." (default: "
over ascii 0 + emit
." ) : "
d# 100 ms
key? if
key
( wait-period max-boot-num default-num loop-inc key )
dup 0d = if \ return pressed
drop leave
then
ascii 0 -
( wait-period max-boot-num default-num loop-inc num )
dup 1 6 pick
( wait-period max-boot-num default-num loop-inc num num 1 max-boot-num )
between if
rot drop swap leave
then
( wait-period max-boot-num default-num loop-inc num )
2drop 0 \ loop-inc = 0
then
dup +loop
drop
( wait-period max-boot-num boot-num )
nip nip
;
my-print-menu
my-boot-delay my-max-boot-num my-boot-default my-input-num
my-boot-case

Go to top
Re: BBoot on real Pegasos 2
Quite a regular
Quite a regular


See User information
@flash
Haven't read all of the Forth in your script but looking at case 5 I see -initrd which is a QEMU option and does not work from Pegasos firmware. From Forth you should call bboot.fth not bboot which then loads bboot and Kickstart.zip but if you don't have those on hd:0 then you also have to replace that to the right partition in bboot.fth. This is documented in the BBoot README. So it should probably just be

5 of " /pci/ide/disk@0,0:0 bboot.fth" endof

Go to top
Re: BBoot on real Pegasos 2
Just popping in
Just popping in


See User information
Hi Zoltan,
thank you for your support but sadly I was not able to resolve, maybe I need a simple example.

Anyway I wonder if you can produce a BBoot binary not compressed in TAR but in an LHA archive to be easily usable by real amiga owners.
I loose a lot of time to look for a decompressor for TAR files using AmigaOS.
To get the binary I had to boot in Linux and decompress it on an usb pen.

In latest weeks I'm counting a lot of good news about Amiga world.

Maybe the following is one of the most important https://www.patreon.com/posts/one-more-thing-141985279

Michal Schulz is adapting Emu68k (running on ARM cpu) for a FAST PPC Core, much faster than QEMU.
What about mixing your great knowledge of AmigaNG chipsets with a new faaast PPC Emulator?

Memento audere semper!
Go to top
Re: BBoot on real Pegasos 2
Home away from home
Home away from home


See User information
@flash
TAR isn't compressed at all (similar to lha -0 and the AmigaOS port of the Unix SysV tape backup and restore utility, C:BRU (not sure about the name, but it was included in some versions of AmigaOS), i.e. an uncompressed 1:1 copy of the data), only something like .tar.gz (.tgz), .tar.bz2, .tar.lzma, .tar.7z etc. is compressed data.

Go to top
Re: BBoot on real Pegasos 2
Quite a regular
Quite a regular


See User information
@flash
What simple example could help? This is written in the BBoot README:
Quote:

the Kickstart.zip, bboot binary and bboot.fth must be copied to the pegasos2 hard disk from where it's loaded by the firmware ROM. The boot.fth Forth script can load these which can be run with "boot hd:0 bboot.fth" from the SmartFirmware ok prompt and should do the rest automatically. It assumes that bboot binary and Kickstart.zip are on hd:0 (first partition of first hard disk) or this can be edited in the beginning and end of bboot.fth.

So does the "boot hd:0 bboot.fth" command work if you run it from the firmware prompt? If not then something is not as described above with the files or you don't have them on hd:0 partition in which case you need to edit bboot.fth as described above. Or if this command works then something is wrong with your boot menu script so figure out how to have it run this command.

BBoot dist file is tar.xz. Can't the xad based Unarc included with AmigaOS4 handle it? I haven't tried but there's an xadUnTar command so the only issue may be with xz but I'd expect this to be also handled by xad. It also has the Unarc GUI which I think is on the Dock by default so you could try if that works. I could do different format but tar.xz is quite common for a while to be generally supported.

How do you know Emu68k PPC core is much faster than QEMU? Have you run a benchmark on same hardware? QEMU linux-user emulation which is comparable to what Emu68k does is quite fast as it does not have to emulate MMU and a whole machine but that can only run Linux PPC executables on any other Linux arch. Emu68k has much narrower scope, only running on Pistorm so not much useful in QEMU. But QEMU allows different accelerators (e.g. you can use the same machine emulation with TCG or KVM) so it's possible to add other CPU emulators but it might not be easy to combine with Emu68k and if that's done would only run on ARM host. Also all my code in QEMU is under GPL so it's possible to combine that with other GPL sources as long as the result stays open source so if somebody wants they are free to do it.

Go to top
Re: BBoot on real Pegasos 2
Quite a regular
Quite a regular


See User information
@flash
I forgot one thing. On real PegasosII you may not see the logs from BBoot as it defaults to serial. You can change settings to log to firmware console as described in the README:
Quote:
first define a variable such as '16 nodefault-bytes bboot' then set options with setenv bboot . This is mostly only useful on real machine, with QEMU there is no way to set it currently but the defaults #define'ed in cfg.c as DEFAULT_OPTS are what is needed for QEMU so there should be no reason to change it. On real PegasosII hardware the settings "Of V0 Ab" (or V1 if you still want to get some feedback) might be better which skips PCI config that is already done by firmware and omits most output so may be faster and will print errors to the SmartFirmware console so no serial is needed. It is also possible to get messages on both console and serial with "Ofs"

The above was written before I've added fixups for PegasosII so maybe only change the output option for now as
16 nodefault-bytes bboot
setenv bboot Of V5 Apb

to keep defaults but change output to firmware so you don't need serial cable for debugging. You can then tweak V (verbosity) option later but keep Apb where p is PCI setup that does 64bit BAR and interrupt fixups so you don't want to disable it until it's fixed by an update which Update 3 apparently does not but the changelog does not mention what actually is fixed in kernel. You can verify if the settings were done with printenv where you should see a bboot variable with the values you set and make them permanent with saveenv that saves it to NVRAM otherwise they are only valid for the current boot. The nodefault-bytes is only needed once to define the bboot variable, after that you can change the setting with only setenv.

Go to top

  Register To Post

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project