Ed Martini wrote:
Background:
I'm trying to get 2.6.11 to run on a MIPS Malta board with Yamon. The
kernel that comes with the board is 2.4.18 with an embedded ramdisk that
runs some scripts to install RPMS via NFS or CD-ROM. The kernel is
converted to s-records via objcopy(1), and loaded into memory via tftp.
I want to do something similar with 2.6.latest.
Problem:
On or about Nov 21 of last year, the CONFIG_EMBEDDED_RAMDISK disappeared.
http://www.linux-mips.org/archives/linux-mips/2004-11/msg00135.html
In it's place it is suggested to use the tools in arch/mips/boot, so I
tried it. I can cross-compile the kernel, and I get an ELF vmlinux. I
can convert it to ecoff with elf2ecoff, and attach an initrd image with
addinitrd. The problem begins here. I end up with an ecoff format
kernel which is not recognized by objcopy(1), and therefore no s-records.
It seems there is a program called gensrec that would do the job, but
google doesn't want to tell me where to get it. Some IRIX binary perhaps?
Solution?
Should I put CONFIG_EMBEDDED_RAMDISK and its ilk back into my kernel, or
write an ELF version of addinitrd? Other ideas?
Thanks in advance.
The future is purportedly in the feature known as initramfs. See the file
Documentation/early-userpace/README for more details on how that is supposed
to work.
That said, I tried initramfs a few times, but either due to lack of
understanding, or broken support code in 2.6.10, I couldn't get it to properly
load an initrd bundled in, so I forward-ported a patch I wrote that originally
fixed CONFIG_EMBEDDED_RAMDISK to work with any ABI to 2.6.10, and it worked
rather well. I'm sticking with this method until I find more/better docs on
how to use initramfs properly.
If you're interested, the patch I use can be found here:
http://dev.gentoo.org/~kumba/mips/misc/misc-2.6.10-add-ramdisk-back.patch
[2.6.10]
http://dev.gentoo.org/~kumba/mips/misc/misc-2.6.11-add-ramdisk-back.patch
[2.6.11]
--Kumba
--
"Such is oft the course of deeds that move the wheels of the world: small
hands do them because they must, while the eyes of the great are elsewhere."
--Elrond
|