| Summary: | BusyBox based initramfs generation | ||
|---|---|---|---|
| Product: | buildroot | Reporter: | Serj Kalichev <serj.kalichev> |
| Component: | Other | Assignee: | unassigned |
| Status: | RESOLVED WONTFIX | ||
| Severity: | enhancement | CC: | buildroot |
| Priority: | P5 | ||
| Version: | 2009.11 | ||
| Target Milestone: | 2010.05 | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Host: | Target: | ||
| Build: | |||
| Attachments: | BusyBox based initramfs generation patch | ||
Move milestone to 2010.05 since enhancements will not be handled before the release of 2010.02. 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. (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. 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. |
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.