|
From: Klaasjan <kla...@gm...> - 2025-01-02 15:46:37
|
Dear all, Happy New Year! And apologies for sending too many messages, and for top-posting. This is just to follow up on my message below, for the record. Ater some testing: while the patch below allows building sys$rom.bin files on an amd64 machine, and the resulting file is recognized by the bootloader of my 5mx pro, it does not boot properly. Instead, the result is an empty screen, and the 5mx pro needs to be rebooted to proceed. Instead, I have now successfully used arlo, combined with the original (epoc) sys$rom.bin, and the 2.4.37.9-5mx32mbpro linux kernel from widearea (http://widearea.org/ste/psion/) to have a dual boot linux/epoc system. For now I am happy with this result. If there is (renewed) interest, I might make further progress and report back, but for now I'll likely go back to silent mode. Best, Klaasjan On Mon, Dec 30, 2024 at 08:52:08PM +0100, Klaasjan wrote: > Dear all, > > [adding a more recent e-mail address for tony, in the hopes of reaching > him] > > See below for the promised patch. > > Best, > Klaasjan > > On Mon, Dec 30, 2024 at 04:31:55PM +0100, Klaasjan wrote: > > Dear Tony and list, > > > > As 2025 draws near, I had some spare time and was playing around > > with a Psion 5mxpro (32MB). In the process, I found that Tony Lindgren's > > proboot at http://www.muru.com/linux/psion/proboot/current/ has issues > > with building an sys$rom.bin file when running the perl script > > proglue.pl on an amd64 host. Likely because the script assumes a 32-bit > > host when discarding the two most significant bits to turn addresses > > into file sizes. > > > > I'll send a patch file that seems to fix the issue once I have ascertained that this message makes it through to list (and hopefully also to Tony). > > > > Best regards, > > Klaasjan > > > > > diff -ruN proboot-0.2.2/CHANGES proboot-0.2.2k/CHANGES > --- proboot-0.2.2/CHANGES 2002-07-03 02:19:26.000000000 +0200 > +++ proboot-0.2.2k/CHANGES 2024-12-30 13:26:13.029729183 +0100 > @@ -1,3 +1,5 @@ > +0.2.3 Fixed issue with file size calculation on 64bit (amd64) perl systems > + > 0.2.2 Fixed the initrd offset as it was overlapping with bigger > kernels. > > diff -ruN proboot-0.2.2/proglue.pl proboot-0.2.2k/proglue.pl > --- proboot-0.2.2/proglue.pl 2002-07-03 02:18:23.000000000 +0200 > +++ proboot-0.2.2k/proglue.pl 2024-12-30 08:11:54.420314938 +0100 > @@ -12,7 +12,7 @@ > > my $BOOTBIN = "proboot.bin"; > my $LINUX_TEXTADDR = 0xc0048000; > -my $LINUXSTART = (($LINUX_TEXTADDR << 2) >> 2); > +my $LINUXSTART = $LINUX_TEXTADDR & 0x3fffffff; > my $MEMBASE = (($LINUX_TEXTADDR >> 28) << 28); > my $PARAMSTART = $LINUXSTART - (128 * 1024); > > @@ -20,7 +20,7 @@ > # You may need to change this value depending on the kernel size > # Smaller INITRD_ADDR here results in smaller sys$rom.bin too. > my $INITRD_ADDR = 0xc0240000; > -my $INITRDSTART = (($INITRD_ADDR << 2) >> 2); > +my $INITRDSTART = $INITRD_ADDR & 0x3fffffff; > my $INITRDSIZE = 0; > > # These must match setup.h |