xbox-scene.com - your xbox news information source
Quick Links: Main Forums | Xbox360 Forums | Xbox1 Forums | PS3 Forums
Xbox-Scene Forum Help  Search Xbox-Scene Forums   Xbox-Scene Forum Members   Xbox-Scene Calendar

Giganews Usenet Offers: +1150 days binary retention, 99%+ Completion, and Unlimited Speed/Access!

360 ODD Emulators: X360 Key $99 | Wasabi360 FAT $99 | Wasabi360 Slim $99
C4E's iXtreme Burner MAX Drive: LiteOn iHAS124 DROPPED TO JUST $17


Welcome Guest ( Log In | Register )

 Forum Rules Rules
 
Reply to this topicStart new topic
> Can Xromwell Be Used To Boot Regular Elf32 Binaries?, And if so, how?
halofreak1990
post Sep 24 2012, 02:57 PM
Post #1


X-S Young Member
*

Group: Members
Posts: 57
Joined: 6-November 08
From: The Netherlands
Member No.: 394680
Xbox Version: v1.6
360 version: v1 (xenon)



I'm trying to load a multiboot-compatible ELF32 binary with xromwell on the XBOX as part of an attempt to create a hobby OS that runs on both the PC and the XBOX.
I can boot the file with GRUB Legacy on any PC I've got so the file is valid and bootable, but xromwell won't fire it up.

This is the linuxboot.cfg I use on my XBOX
CODE
title XDSL
kernel KNOPPIX/linux24
initrd KNOPPIX/linux24.gz
append root=/dev/ram0 init=/etc/init rw video=xbox:640x480 frugal quiet kbd-reset
title XDSL Loopback install
kernel KNOPPIX/linux24
initrd KNOPPIX/ird-loop.gz
append root=/dev/ram0 init=/etc/init rw video=xbox:640x480 rootfs_name=xdslfs quiet kbd-reset

title My OS
kernel System/kernel


xromwell loads the file just fine. It's the execution of it that fails.

The output is
CODE
(ELF)...
Image checksum: 0 != computed checksum 630c

There's two more lines of text on the screen, but due to overscan, they are not really readable, but I guess they say
CODE
done
parsing cmdline:


I can see there is some kind of checksum mismatch, but I don't know what checksum xromwell is talking about.

Since the bootloader component of xromwell is based on GRUB, it should be able to load my binary, right?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ldotsfan
post Sep 26 2012, 04:37 AM
Post #2


X-S Messiah
*******

Group: Dev/Contributor
Posts: 3098
Joined: 23-March 08
Member No.: 376711
Xbox Version: v1.1
360 version: unknown



I'm not familiar with this section of cromwell code but here's the relevant section: http://xbox-linux.cvs.sourceforge.net/view...pe=text%2Fplain

CODE

if (estate.ip_checksum != sum) {
                printf("\nImage checksum: %hx != computed checksum: %hx\n",
                    estate.ip_checksum, sum);
#if 0
                /* This seems to fail sometimes for certain ELF
                 * files. Unsure why, so just bluntly disable
                 * the restart for now ... Should be fixed
                 * better ...
                 */
                longjmp(restart_etherboot, -2);
#endif
            }


It's part of etherboot. Maybe with that info, you have better luck hunting down the problem?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
halofreak1990
post Sep 30 2012, 01:31 PM
Post #3


X-S Young Member
*

Group: Members
Posts: 57
Joined: 6-November 08
From: The Netherlands
Member No.: 394680
Xbox Version: v1.6
360 version: v1 (xenon)



Forget what I said. I just realized I was writing my screen output to the wrong address.

I used OpenXDK's FB address, but that becomes invalid once Xromwell boots an OS.
Looking up the new address in Xromwell's source code fixed my issues.

IOW, I can build an ELF kernel that, just like XBOX-Linux, runs unmodified on both PC and XBOX, as long as you add the necessary code to bridge the gap.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post





Reply to this topicStart new topic

 

Lo-Fi Version Time is now: 24th May 2013 - 07:17 PM