Gentoo Archives: gentoo-embedded

From: Angelo Arrifano <miknix@g.o>
To: gentoo-embedded@l.g.o
Cc: jesse@×××××××××××××.com
Subject: Re: [gentoo-embedded] "Gentoo on the Marvell Sheevaplug" Code Listing 3.6 question
Date: Sat, 26 Jun 2010 00:05:49
Message-Id: 4C254340.5030704@gentoo.org
In Reply to: Re: [gentoo-embedded] "Gentoo on the Marvell Sheevaplug" Code Listing 3.6 question by jesse@boldandbusted.com
1 On 26-06-2010 01:42, jesse@×××××××××××××.com wrote:
2 > On Sat, 26 Jun 2010 01:36 +0200, "Angelo Arrifano" <miknix@g.o>
3 > wrote:
4 >> On 26-06-2010 01:00, jesse@×××××××××××××.com wrote:
5 >>> Howdy. I'd like to know how Gentoo devs build the files in Code Listing
6 >>> 3.6 in http://dev.gentoo.org/~armin76/arm/sheevaplug/install.xml ? I'd
7 >>> like to build those files myself, and would love to see your recipe,
8 >>> even if it's very rough. I'm especially interested in what tools you
9 >>> used. Thanks.
10 >>
11 >> * uImage_kwplug is just Linux - the kernel. The sources are mainly
12 >> available on kernel.org. You need a cross compiler to build them for
13 >> this particular Marvell CPU. Look on Gentoo documentation how to build a
14 >> cross compiler and how to compile the kernel.
15 >>
16 >> * sheevaplug.initramfs - This is just the bootable userspace. Since we
17 >> are at Gentoo, I guess it was produced using our cross-compiler
18 >> toolchain which is embedded in the Gentoo's package manager. Look on our
19 >> documentation how to build a cross compiler and cross compile with
20 >> emerge.
21 >>
22 >> Keywords: crossdev, emerge, cross root compilation, cross compile kernel
23 >>
24 >> There are no secrets, everything is widely available
25 >> Have fun ;)
26 >>>
27 >>> Cheers,
28 >>> Jesse Adelman
29 >>> San Francisco, CA
30 >>>
31 >>
32 >>
33 >
34 > Thanks, Angelo. I should have been more specific, and narrow. :) I'm
35 > really interested in the initramfs generation. I've got a ARM toolchain
36 > configured (yay qemu-arm and distcc... takes about 48 hours to
37 > emptytree-build a stripped-down userspace given my resources), and have
38 > a chrooted ARM rootfs made, but I'm curious how it was made into an
39 > "initramfs".
40
41 A initramfs is just a cpio archive of your rootfs. You will have to take
42 special attention to the init process and what init will spawn. Also
43 take care of required virtual filesystems like proc, and make available
44 required devices nodes like console and ttys.
45
46 Again, Google for "make initramfs". I came up with this one:
47 http://en.gentoo-wiki.com/wiki/Initramfs
48
49 If UBoot supports it, you can also try to create an initrd. You can
50 produce compressed initrds using several tools like mkcramfs, mksquashfs
51 etc..
52
53 > My plan is to have boot into an SD Card on the sheevaplugs
54 > and guruplugs, but booting the rootfs from tftp like the docs do would
55 > make for easier testing.
56
57 Just configure your initramfs/initrd to mount the SD card and then
58 pivot_root into the SD card. There are plenty of examples on the
59 internet, specially with busybox.
60
61 Regards,
62 >
63 > Cheers,
64 > Jesse Adelman
65 > San Francisco, CA

Replies