Hi I recently used Kegel's crosstool to build linuxsh against stock kernel 2.6.12.3
I used the sh-boot tree from the sourceforge linuxsh CVS patched with:
http://www.linuxdevices.com/files/ar...0831-1455.diff
According to the sh-boot/tools/dreamcast/README the initrd ramdisk image is loaded at 0x8c800000. So I created a ramdisk by doing:
# dd if=/dev/zero of=initrd.img bs=1k count=4096
# mke2fs -F -vm0 initrd.img
# mkdir initrd.dir
# mount -o loop initrd.img initrd.dir
# (cd initrd ; tar cf - .) | (cd initrd.dir ; tar xvf -)
# umount initrd.dir
# gzip -c -9 initrd.img > initrd.bin
The "initrd" folder contains the rootfs for the ramdisk and is about 1.9megs.
The only compiled is busybox 1.0. Other stuff are the kernel modules and the device nodes.
Ext2 support is builtin and I configured the kernel to make 1 ramdisk of 4096kbytes.
My init command string: root=/dev/ram0 rw rootfstype=ext2
initrd=0x8c001010,4M mem=16
When I copy both the kernel zImage (as zImage.bin) and the initrd.bin to the sh-boot/tools/dreamcast/ dir and do a make scramble kernel-boot.bin, it will not show any errors.
However when I load it on my dreamcast it crashes with:
"RAMDISK: Couldn't find valid RAM disk image
starting at 0.
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-
block(1,0)"
Any ideas?