Looks to me as though you are trying to boot a BSD kernel ?
To do this - you need to update your grub.conf - the grub command line is restricted in this release.
I'm trying to boot my own custom kernel
I updated the grub.conf on the SD card.
title David's OS
Which fails with that Clanton-specific error message. It's not just a problem on the command line...
Actually I'm wrong - apologies. I'm getting Grub's infamous Error 13. Seems a problem with my kernel (multiboot headers or something). I'll check it out and try to fix it. Strangely worked on QEMU but I think the problem is on my side. I'll investigate and report back!
Ok I checked. Nothing wrong on my side that I can find.
QEMU loads my kernel fine. Grub 2 loads it fine. Grub legacy loads it fine.
Seems to be something specific to the Clanton Grub...
I have a valid multiboot header at offset 0x1000 (4K) which is within the first 8K so it conforms:
00001000 02 B0 AD 1B 03 00 00 00 FB 4F 52 E4
How is Grub built for Clanton? Is the code + config available so I can compile my own version?
I even tried launching Grub 2 with the Galileo grub and using that to launch my kernel. No luck; it seems the Clanton kernel doesn't support multiboot or something? Could you please compile a version that does that I can flash to the chip?
Any guidance on this?
It's kind of a showstopper for my project (not being able to boot anything with the included Grub but linux)...
Grub with multiboot support would be great (should just be a matter of including the multiboot module in the grub image)...
David, no you cannot boot any random piece of software on Galileo for now. Among others, there are some Quark-specific Linux patches you need. It may be possible to port these patches to the random Linux version of your choice but this is likely to require significant work. This is basically the same situation than trying to run Windows XP on brand new PC hardware: very unlikely to work out of the box.
You should start by downloading and compiling the Quark BSP from source (follow the BSP build guide) and only then use this as a base that you can start customizing - one piece at a time.
I'm not trying to boot a Linux kernel; trying to build my own kernel from scratch.
In any event I didn't realize there was an ability to build BSP from source. Should solve my problems if I can build grub
have you made any progress with this?
Well it seems that it will only boot something with a Linux kernel header v2.12.
Thanks to some great help from the folks over at OSDev, I've at least managed to boot Grub Legacy and Grub 2 with Linux headers from the Galileo Grub and I intend to try booting my code with those grubs as a 'second stage'.
Ah right, so chainloading?
Thanks for the info. I too was struggling to boot homegrown code from grub, even with the correct header & magic #.
The included grub legacy doesn't seem to suport the multiboot header format for some reason.
I haven't tried compiling it from source yet; perhaps I can enable support somehow. The strange thing is that I took a (VERY) brief look at the Clanton patches for Grub and I didn't see anything that would disable multiboot support. But it must be there somewhere...
Hum, I took a look at your post on osdev, and couldn't find any files in that zip file that would get past the "Error 13".
What file do you boot, and what grub command did you use?
Try this: Dropbox - lnxgrub.zip
From Grub Legacy console:
kernel /lnxgrub.bin (or /lnxgrub2.bin for Grub 2)
The Grubs *seem* to be loaded however I haven't tried using them to book my code yet.
Both of those work for me too.
Do you know what was done to create them?
For now, I am looking at going one step back and simply building an efi application ( as grub is. )
I've build grub.efi; now looking to make a minimal build set.