Bug 1141 - BusyBox based initramfs generation
Summary: BusyBox based initramfs generation
Status: RESOLVED WONTFIX
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: 2009.11
Hardware: PC Linux
: P5 enhancement
Target Milestone: 2010.05
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-19 11:44 UTC by Serj Kalichev
Modified: 2010-06-07 20:22 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:


Attachments
BusyBox based initramfs generation patch (38.19 KB, patch)
2010-02-19 11:44 UTC, Serj Kalichev
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Serj Kalichev 2010-02-19 11:44:44 UTC
Created attachment 1141 [details]
BusyBox based initramfs generation patch

Sometimes it's necessary to generate not rootfs only but both real rootfs and initramfs. Initramfs is more simpler and don't need many different packages but only specially configured busybox and some additional scripts.

There is a makefile initramfs.mk in package/busybox dir for BusyBox based initramfs generation. But it was unfinished and commented in Config.in. I could not use it for real project so I try to patch BuildRoot to make it work.

Now BuildRoot can use target dir for generation initramfs. I change target/initramfs/Config.in file to select the initramfs generation way. They can choose "none", "initramfs from target dir" and "BusyBox based initramfs".
When you choose "initramfs from target dir" - it's a traditional way to generate initramfs.

When the choice is "BusyBox based initramfs" BuildRoot can generate two images - one for initramfs (put it into the bzImage) and the second for real rootfs. The user can specify the BusyBox config file, the filesystem skeleton and a dir with customization files for initramfs generation.

The attached patch consist of 
* target/initramfs/Config.in - to configure initramfs generation parameters
* package/busybox/initramfs.mk - to build specially configured BusyBox and generate the initramfs image. It depends on files in the package/busybox/initramfs_custom (by default) directory. So user can change custom files and the initramfs will be rebuild.
* package/busybox/busybox-initramfs.config - it's only the example of minimalist BusyBox configuration for the initramfs.
* package/busybox/initramfs_custom - it's only the example of simple init script for the initramfs. It can mount rootfs by the UUID and LABEL.
Comment 1 Thomas Petazzoni 2010-02-21 22:33:15 UTC
Move milestone to 2010.05 since enhancements will not be handled before the release of 2010.02.
Comment 2 Thomas Petazzoni 2010-06-07 14:52:47 UTC
Peter, do we really want to go this way, and make Buildroot support the fact of creating two separate filesystems: one small initramfs and one "normal" root filesystem containing all libraries and applications ?

With a first look, I'd tempted to say "no" : just use Buildroot twice, once to build your initramfs and once to build your real root filesystem. But this is something that can be discussed, of course.
Comment 3 Peter Korsgaard 2010-06-07 19:44:26 UTC
(In reply to comment #2)
> Peter, do we really want to go this way, and make Buildroot support the fact of
> creating two separate filesystems: one small initramfs and one "normal" root
> filesystem containing all libraries and applications ?
> 
> With a first look, I'd tempted to say "no" : just use Buildroot twice, once to
> build your initramfs and once to build your real root filesystem. But this is
> something that can be discussed, of course.

No, I agree with you.
Comment 4 Thomas Petazzoni 2010-06-07 20:22:59 UTC
Ok, so I'm closing this bug, marking as WONTFIX. The rationale is that we don't want to enter into the game where Buildroot would build two separate filesystems.