[Buildroot] Creating initrd

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Thu Oct 11 15:23:56 UTC 2012


On Thu, 11 Oct 2012 11:16:09 -0400, Chris Wilkinson wrote:
> The .config is here
> 
> http://pastebin.com/84LqnBXS

Are you sure you did a "make clean; make" after doing all your
configuration changes? Your configuration has almost no packages
enabled, the generated root filesystem definitely shouldn't be that big.

> This shows what I'm trying to achieve.
> 
> http://d-i.alioth.debian.org/manual/en.armel/ch05s01.html#boot-firmware. 
> 
> The output on the serial console goes like this on power up.
> 
> >>
> No network interfaces found
> 
> EM-7210 ver.T04 2005-12-12 (For ver.AA)
> == Executing boot script in 1.000 seconds - enter ^C to abort
> 
> At this point, hit Control-C to interrupt the boot loader[4]. This
> will give you the RedBoot prompt. Enter the following commands:
> 
> > load -v -r -b 0x01800000 -m ymodem ramdisk.gz
> > load -v -r -b 0x01008000 -m ymodem zImage
> > exec -c "console=ttyS0,115200 rw root=/dev/ram mem=256M at 0xa0000000" -r 0x01800000

You have two choices:

 1 Use an initramfs embedded inside the kernel image. This is what
   Buildroot does when you enable the BR2_TARGET_ROOTFS_INITRAMFS
   option. In that case, you only need to load zImage to RAM, and
   execute it, it already contains the initramfs.

 2 Use an initramfs outside the kernel image. In that case, don't
   enable the BR2_TARGET_ROOTFS_INITRAMFS Buildroot option, and simply
   generated a compressed cpio archive for the root filesystem, thanks
   to BR2_TARGET_ROOTFS_CPIO + BR2_TARGET_ROOTFS_CPIO_GZIP. Then, make
   sure your kernel as the support for initramfs enabled.

I am quite familiar with choice 1, but I haven't tested choice 2 with
Buildroot.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com


More information about the buildroot mailing list