* Re: howto? Build something but not deploy in root image
2007-07-05 5:01 howto? Build something but not deploy in root image Tom Walsh
@ 2007-07-05 13:52 ` Justin Patrin
2007-07-05 16:03 ` Paul Sokolovsky
2007-07-09 14:42 ` Marcin Juszkiewicz
2 siblings, 0 replies; 7+ messages in thread
From: Justin Patrin @ 2007-07-05 13:52 UTC (permalink / raw)
To: openembedded-devel
On 7/4/07, Tom Walsh <tom@openhardware.net> wrote:
> I know, this has come up before. Reading through some of the old
> messages I see this discussed, but, I do not see any solution(s) mentioned?
>
> I have several parts to this project that must be built during the
> bitbake process (bootstrap-image), but are not part of the target
> filesystem image. The total system parts are:
>
> * bootloader - ARM - resides in Flash.
> * kernel - ARM - resides in Flash.
> * target rootfs image - ARM - resides on MMC card.
> * Flash Utility - native (x86) - runs on host computer.
>
> The concept for the system is that the bootloader starts the RAM and
> other hardware up. It then copies the kernel image into RAM and
> launches it. The kernel is configured to look for its root filesystem
> on the MMC card. Essentially, I boot the kernel from Flash, but the
> kernel boots from the MMC card.
>
> The only thing that I need in the root filesystem (tmp/rootfs/) is the
> packages I named from the local conf files. The kernel does need to be
> there, it soaks up space uselessly.
>
> As to the bootloader, it comes in two sections (files), these are
> programmed by the Flash Utility into the target system. The bootloader
> is not needed in the root filesystem.
>
> The problem is not getting these things built, but preventing them from
> being installed in the tmp/rootfs/ filesystem or tarball. They should
> only go into tmp/deploy/image/, which I currently have them going
> into... However, the bitbake system assumes that anything that is
> packaged, must be deployed into the root filesystem!?
This isn't quite true. Bitbake installs whatever packages are in the
RDEPENDS of the image. I think what you would do it make sure that
your bootloader, etc are in the DEPENDS but not the RDEPENDS.
>
> How do you build a bootloader that resides in Flash and doesn't get
> stuck into the filesystem image? The same would hold true for the
> native (linux PC) app which flashes the target memory.
>
--
Justin Patrin
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: howto? Build something but not deploy in root image
2007-07-05 5:01 howto? Build something but not deploy in root image Tom Walsh
2007-07-05 13:52 ` Justin Patrin
@ 2007-07-05 16:03 ` Paul Sokolovsky
2007-07-09 14:42 ` Marcin Juszkiewicz
2 siblings, 0 replies; 7+ messages in thread
From: Paul Sokolovsky @ 2007-07-05 16:03 UTC (permalink / raw)
To: Tom Walsh; +Cc: openembedded-devel
Hello Tom,
Thursday, July 5, 2007, 8:01:05 AM, you wrote:
> I know, this has come up before. Reading through some of the old
> messages I see this discussed, but, I do not see any solution(s) mentioned?
Well, until recently, OE had issues with building truly minimal and
well-polished images. This yet needs to be described in howto-like
manner, that's on my todo.
> I have several parts to this project that must be built during the
> bitbake process (bootstrap-image), but are not part of the target
> filesystem image. The total system parts are:
> * bootloader - ARM - resides in Flash.
> * kernel - ARM - resides in Flash.
> * target rootfs image - ARM - resides on MMC card.
> * Flash Utility - native (x86) - runs on host computer.
> The concept for the system is that the bootloader starts the RAM and
> other hardware up. It then copies the kernel image into RAM and
> launches it. The kernel is configured to look for its root filesystem
> on the MMC card. Essentially, I boot the kernel from Flash, but the
> kernel boots from the MMC card.
> The only thing that I need in the root filesystem (tmp/rootfs/) is the
> packages I named from the local conf files.
This is one feature which is possible now. You name exact and
complete list of packages you want to install into image, and nothing
else gets installed, not even dependencies. This is of course highly
special-purpose feature, and you don't want to use it on realistic
rootfs with dozens of packages, it is indtended for initrds/initramfs,
which consist of few packages and where each KB counts.
> The kernel does need to be
> there, it soaks up space uselessly.
Kernel is indeed special case, and there was some kind of adhoc
support for doing what you want all the time in OE. Couple of months
ago Richard Purdie implemented more scalable support for this though,
so search archives for his RFC.
> As to the bootloader, it comes in two sections (files), these are
> programmed by the Flash Utility into the target system. The bootloader
> is not needed in the root filesystem.
Besides two special cases above, when you really need to subvert
OE's dependency handling, for all other cases you just need to get it
right. The only reason why bootloader is installed into image is that
something RDEPENDS on it (or it listed as top-level package to install
;-) ). So, fix your dependencies, and it will be ok.
> The problem is not getting these things built, but preventing them from
> being installed in the tmp/rootfs/ filesystem or tarball. They should
> only go into tmp/deploy/image/, which I currently have them going
> into... However, the bitbake system assumes that anything that is
> packaged, must be deployed into the root filesystem!?
> How do you build a bootloader that resides in Flash and doesn't get
> stuck into the filesystem image? The same would hold true for the
> native (linux PC) app which flashes the target memory.
> Regards,
> TomW
--
Best regards,
Paul mailto:pmiscml@gmail.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: howto? Build something but not deploy in root image
2007-07-05 5:01 howto? Build something but not deploy in root image Tom Walsh
2007-07-05 13:52 ` Justin Patrin
2007-07-05 16:03 ` Paul Sokolovsky
@ 2007-07-09 14:42 ` Marcin Juszkiewicz
2007-07-15 13:28 ` Tom Walsh
2 siblings, 1 reply; 7+ messages in thread
From: Marcin Juszkiewicz @ 2007-07-09 14:42 UTC (permalink / raw)
To: openembedded-devel
Dnia czwartek, 5 lipca 2007, Tom Walsh napisał:
> I have several parts to this project that must be built during the
> bitbake process (bootstrap-image), but are not part of the target
> filesystem image. The total system parts are:
>
> * bootloader - ARM - resides in Flash.
> * kernel - ARM - resides in Flash.
> * target rootfs image - ARM - resides on MMC card.
> * Flash Utility - native (x86) - runs on host computer.
In machine config add:
IMAGEDEPENDS = "bootloader flash-utility-native"
Basically it should be MACHINE_EXTRA_DEPENDS but we do not support it yet
properly.
> The only thing that I need in the root filesystem (tmp/rootfs/) is the
> packages I named from the local conf files.
Create own image recipe and add those packages to RDEPENDS and
PACKAGE_INSTALL.
> As to the bootloader, it comes in two sections (files), these are
> programmed by the Flash Utility into the target system. The bootloader
> is not needed in the root filesystem.
> The problem is not getting these things built, but preventing them from
> being installed in the tmp/rootfs/ filesystem or tarball. They should
> only go into tmp/deploy/image/, which I currently have them going
> into...
Look at uboot/u-boot* recipes and their do_deploy() tasks which copy
bootloader into tmp/deploy/images/ dir.
> However, the bitbake system assumes that anything that is
> packaged, must be deployed into the root filesystem!?
No. Image is built from packages, but from selected ones only.
> How do you build a bootloader that resides in Flash and doesn't get
> stuck into the filesystem image? The same would hold true for the
> native (linux PC) app which flashes the target memory.
In their recipes add do_deploy() task which copies them to
tmp/deploy/images/ dir.
--
JID: hrw-jabber.org
OpenEmbedded developer/consultant
Free speech includes the right not to listen, if not interested
[Robert A. Heinlein]
^ permalink raw reply [flat|nested] 7+ messages in thread