Hello Ottovio,
It's a bit of all of them.
On ARM systems you always need to tell it to load the kernel image. What
happens then is very dependent upon how things have been built.
For example it's possible to build a combined image where the kernel and
the initrd are rolled into one package, or more often they're kept as
seperate images.
In the case of ARMedslack the kernel and the initrd are kept seperate,
this makes modifying things easier.
The initrd itself can do different things dependent on how it was designed.
For example the initrd on the Sheevaplug uClibc Debian system is the
actual root filesystem, the same is true for the iConnect Debian uClibc
system.
The ARMedslack initrd is only a initial ramdisk, which contains relevant
modules (in your specific case the module for ext2fs) to allow the
kernel to access the real root device. So the initrd is about giving the
kernel the ability to access the real root device, so that it can mount
the real root filesystem and continue the system bringup, read up on
pivot root to find out more about this.
It should be possible to compile a kernel to include the necessary
drivers to directly access the real root device, although I've not tried
that yet.
It is possible to combine a kernel and initrd into a single image, and
thus only load one file into memory and boot that, but that's not the
design in play here.
It is possible to use an initrd as the real rootdev, but reducing it to
fit into the flash memory available onboard most ARM devices requires a
lot of work yet, and isn't really in scope for the straight port of
Slackware to ARM.
I hope that covers your questions?
Thanks
Dave
On 16/08/2011 00:35, Ottavio wrote:
Hello, first time here, please be patient.
I apologise asking this question here, but the Qemu user forum is
currently down and the qemu-devel list is aimed at developers only.
I have converted the -Current Miniroot fs to a proper image on a Linux
host, made some minor corrections to ftstab and inittab, transferred
it to a flash drive and tried to boot it on a Windows host with this
line:
qemu-system-arm.exe -drive file=slackware-arm-root,index=0,media=disk
-M versatilepb -m 256 -usb -k en-gb
but I got the error: "Kernel image must be specified".
So I downloaded zImage-versatile and initrd-versatile.gz and added this :
-kernel zImage-versatile -initrd initrd-versatile.gz -append
"root=/dev/sda1 rootfs=ext2"
and It works fine.
Why does qemu-system-arm need a kernel and a initrd? Is it possible to
boot an ARM image directly? Is this a limitation of the ARM
Architecture or of the volatile board emulation or of qemu-system-arm
altogether?
Then I'd have some more n00b questions but I'll ask them later.
Thank you
_______________________________________________
ARMedslack mailing list
[email protected]
http://lists.armedslack.org/mailman/listinfo/armedslack