linux-embedded.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Josh Boyer <jwboyer@gmail.com>
To: Tim Bird <tim.bird@am.sony.com>
Cc: fundu_1999@yahoo.com, linux-embedded <linux-embedded@vger.kernel.org>
Subject: Re: initrd and uImage
Date: Mon, 11 Aug 2008 13:17:56 -0400	[thread overview]
Message-ID: <1218475076.10489.10.camel@localhost.localdomain> (raw)
In-Reply-To: <48A064E7.1070104@am.sony.com>

On Mon, 2008-08-11 at 09:12 -0700, Tim Bird wrote:
> Fundu wrote:
> > Hi,
> > First off i have a ppc based board.
> > and i'm trying to load a kernel image with ramdisk rootfs.
> > 
> > i have build the kernel. it spit uImage,zImage and vmlinux.gz
> 
> 
> > my question are.
> > 1) what are all the different image types ? 
> > i know the uImage is just the kernel, what are the rest (zImage & vmlinux.gz)?
> 
> vmlinux is the uncompressed result of compiling and linking the kernel.
> 
> I presume that vmlinux.gz is a gzipped version of vmlinux.
> 
> zImage is some other compressed kernel image format.

zImage (for ppc at least), is a "wrapper" around the kernel that does
the load and decompress.  It's akin to how uImage works, just for
non-U-Boot platforms.

> uImage is another kernel image format, with information
> specifically for loading with U-Boot.
> 
> You can see what commands are being used to create these different
> images by using "V=1" with your kernel make.  (e.g. make V=1 uImage)
> 
> On my machine, I see the following:
> /bin/sh /a/home/tbird/work/tiny/branch_ss/scripts/mkuboot.sh -A arm -O linux -T kernel -C none -a 0x10008000 -e 0x10008000 -n 'Linux-2.6.23.17-alp_nl-gfcc28266' -d arch/arm/boot/zImage
> arch/arm/boot/uImage
> 
> If I recall correctly, mkuboot.sh prepends the
> size and start location for the kernel onto the zImage, in order to create
> the uImage.  However, don't take my word for it -- see the U-Boot
> documentation, or even better read the mkuboot.sh source, or the source
> for U-Boot itself.  That's the beauty of open source.  You can see all
> the software and examine/modify any part you want.

mkuboot.sh is a script that calls the 'mkimage' tool that is provided
with the U-Boot source code.  I'd also recommend reading the U-Boot
source code to better understand this if your board uses U-Boot as the
bootloader.

> 
> If the source is impenetrable, there's always the U-Boot mailing list.
> 
> > 2) i'm using u-boot as the bootldr. so i download the uImage (cause
> > zImage and vmlinux.gz aren't bootlable) from tftp server and then do
> > bootm <address> the kernel only load partially. How does the kernel
> > know where/how to load the rootfs ?
> 
> Usually, you tell it with a command line option (root=...).
> The command line can come from the boot loader, or it may be compiled
> into the kernel binary.  See Documentation/kernel-parameters.txt
> for information about kernel command line options.

And for U-Boot, you want to make sure the command line is set via the
'bootargs' U-Boot environment variable.

josh

  reply	other threads:[~2008-08-11 17:17 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-08 16:42 initrd and uImage Fundu
2008-08-08 18:16 ` Robert Schwebel
2008-08-11 16:12 ` Tim Bird
2008-08-11 17:17   ` Josh Boyer [this message]
2008-08-11 20:56 ` Jean-Christophe PLAGNIOL-VILLARD

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1218475076.10489.10.camel@localhost.localdomain \
    --to=jwboyer@gmail.com \
    --cc=fundu_1999@yahoo.com \
    --cc=linux-embedded@vger.kernel.org \
    --cc=tim.bird@am.sony.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).