* Minimal images: kernel config @ 2011-02-18 17:52 Darren Hart 2011-02-18 18:25 ` Richard Purdie 2011-02-18 19:15 ` Bruce Ashfield 0 siblings, 2 replies; 8+ messages in thread From: Darren Hart @ 2011-02-18 17:52 UTC (permalink / raw) To: poky@yoctoproject.org I've been getting more and more questions regarding flash footprint, memory footprint, and boot time. All of these fall under the "minimal image" heading in my head. Currently, poky-image-minimal is a simple subset of poky-image-sato. It uses busybox, but is still dynamically linked and uses the same somewhat-generic kernel build. By somewhat-generic I mean we have named features that often cover more drivers than are stricly necessary for a given board (usb-net comes to mind). I'd like to see minimal become a truly minimal image from both the userspace and kernel side point of view. Here's my take on this. From userspace this means uclibc and a staticly linked busybox. From the kernel this means a static build (no modules) with nothing more than is required for the board's built-in peripherals to function, with the possible exception of something like usb-storage. I'd like to see a < 10M flash size and a <8M memory footprint. Thoughts on this direction? -- Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Minimal images: kernel config 2011-02-18 17:52 Minimal images: kernel config Darren Hart @ 2011-02-18 18:25 ` Richard Purdie 2011-02-18 18:52 ` Mark Hatle 2011-02-18 19:15 ` Bruce Ashfield 1 sibling, 1 reply; 8+ messages in thread From: Richard Purdie @ 2011-02-18 18:25 UTC (permalink / raw) To: Darren Hart; +Cc: poky@yoctoproject.org On Fri, 2011-02-18 at 09:52 -0800, Darren Hart wrote: > I've been getting more and more questions regarding flash footprint, > memory footprint, and boot time. All of these fall under the "minimal > image" heading in my head. > > Currently, poky-image-minimal is a simple subset of poky-image-sato. It > uses busybox, but is still dynamically linked and uses the same > somewhat-generic kernel build. By somewhat-generic I mean we have named > features that often cover more drivers than are stricly necessary for a > given board (usb-net comes to mind). I'd like to see minimal become a > truly minimal image from both the userspace and kernel side point of view. > > Here's my take on this. From userspace this means uclibc and a staticly > linked busybox. From the kernel this means a static build (no modules) > with nothing more than is required for the board's built-in peripherals > to function, with the possible exception of something like usb-storage. > I'd like to see a < 10M flash size and a <8M memory footprint. > > Thoughts on this direction? That sounds more like a "micro" rather than the current minimal. Minimal is designed to be extended by the user, what you describe above is a lot harder to extend. So my take is that minimal is ok as it is stands from the dynamic linked busybox perspective and static linking doesn't buy you what you might expect it to. mklibs will probably have just as much effect. For kernel modules, I suspect even for a micro, you still want them since you can then start booting the kernel faster and only have what you need in memory (say USB peripherals). I'm not against a micro type target but its smaller that what we've been aiming for an introduces a new element into the Yocto test matrix. Having said all that, I expect there are ways to reduce minimal further than it is today as its not something anyone has looked hard at so far... Cheers, Richard ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Minimal images: kernel config 2011-02-18 18:25 ` Richard Purdie @ 2011-02-18 18:52 ` Mark Hatle 2011-02-18 19:08 ` Darren Hart 2011-02-18 20:33 ` Tom Rini 0 siblings, 2 replies; 8+ messages in thread From: Mark Hatle @ 2011-02-18 18:52 UTC (permalink / raw) To: Richard Purdie; +Cc: Darren Hart, poky@yoctoproject.org On 2/18/11 12:25 PM, Richard Purdie wrote: > On Fri, 2011-02-18 at 09:52 -0800, Darren Hart wrote: >> I've been getting more and more questions regarding flash footprint, >> memory footprint, and boot time. All of these fall under the "minimal >> image" heading in my head. >> >> Currently, poky-image-minimal is a simple subset of poky-image-sato. It >> uses busybox, but is still dynamically linked and uses the same >> somewhat-generic kernel build. By somewhat-generic I mean we have named >> features that often cover more drivers than are stricly necessary for a >> given board (usb-net comes to mind). I'd like to see minimal become a >> truly minimal image from both the userspace and kernel side point of view. >> >> Here's my take on this. From userspace this means uclibc and a staticly >> linked busybox. From the kernel this means a static build (no modules) >> with nothing more than is required for the board's built-in peripherals >> to function, with the possible exception of something like usb-storage. >> I'd like to see a < 10M flash size and a <8M memory footprint. >> >> Thoughts on this direction? > > That sounds more like a "micro" rather than the current minimal. Minimal > is designed to be extended by the user, what you describe above is a lot > harder to extend. > > So my take is that minimal is ok as it is stands from the dynamic linked > busybox perspective and static linking doesn't buy you what you might > expect it to. mklibs will probably have just as much effect. > > For kernel modules, I suspect even for a micro, you still want them > since you can then start booting the kernel faster and only have what > you need in memory (say USB peripherals). > > I'm not against a micro type target but its smaller that what we've been > aiming for an introduces a new element into the Yocto test matrix. > > Having said all that, I expect there are ways to reduce minimal further > than it is today as its not something anyone has looked hard at so > far... The keys to reducing minimal further is eglibc configurability -- which we do not yet have implemented, and use of mklibs. Shared memory will likely be both smaller disk and memory footprint then static binaries in this configuration. (If not, it will be very close...) The size of the kernel and modules is also a factor -- but as Richard mentioned, it's fairly typical to have a lightly configured kernel as the boot kernel and then load a lot of modules once the system comes alive. My goal for a busybox / glibc based system is around 8 MB of disk usage... This should be easily achievable when eglibc is able to be configured, mklibs is run and a reasonable set of modules is available. --Mark > Cheers, > > Richard > > > > _______________________________________________ > poky mailing list > poky@yoctoproject.org > https://lists.yoctoproject.org/listinfo/poky ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Minimal images: kernel config 2011-02-18 18:52 ` Mark Hatle @ 2011-02-18 19:08 ` Darren Hart 2011-02-18 20:33 ` Tom Rini 1 sibling, 0 replies; 8+ messages in thread From: Darren Hart @ 2011-02-18 19:08 UTC (permalink / raw) To: Mark Hatle; +Cc: poky@yoctoproject.org On 02/18/2011 10:52 AM, Mark Hatle wrote: > On 2/18/11 12:25 PM, Richard Purdie wrote: >> On Fri, 2011-02-18 at 09:52 -0800, Darren Hart wrote: >>> I've been getting more and more questions regarding flash footprint, >>> memory footprint, and boot time. All of these fall under the "minimal >>> image" heading in my head. >>> >>> Currently, poky-image-minimal is a simple subset of poky-image-sato. It >>> uses busybox, but is still dynamically linked and uses the same >>> somewhat-generic kernel build. By somewhat-generic I mean we have named >>> features that often cover more drivers than are stricly necessary for a >>> given board (usb-net comes to mind). I'd like to see minimal become a >>> truly minimal image from both the userspace and kernel side point of view. >>> >>> Here's my take on this. From userspace this means uclibc and a staticly >>> linked busybox. From the kernel this means a static build (no modules) >>> with nothing more than is required for the board's built-in peripherals >>> to function, with the possible exception of something like usb-storage. >>> I'd like to see a< 10M flash size and a<8M memory footprint. >>> >>> Thoughts on this direction? >> >> That sounds more like a "micro" rather than the current minimal. Minimal >> is designed to be extended by the user, what you describe above is a lot >> harder to extend. >> >> So my take is that minimal is ok as it is stands from the dynamic linked >> busybox perspective and static linking doesn't buy you what you might >> expect it to. mklibs will probably have just as much effect. >> >> For kernel modules, I suspect even for a micro, you still want them >> since you can then start booting the kernel faster and only have what >> you need in memory (say USB peripherals). >> >> I'm not against a micro type target but its smaller that what we've been >> aiming for an introduces a new element into the Yocto test matrix. >> >> Having said all that, I expect there are ways to reduce minimal further >> than it is today as its not something anyone has looked hard at so >> far... > > The keys to reducing minimal further is eglibc configurability -- which we do > not yet have implemented, and use of mklibs. Shared memory will likely be both > smaller disk and memory footprint then static binaries in this configuration. > (If not, it will be very close...) > > The size of the kernel and modules is also a factor -- but as Richard mentioned, > it's fairly typical to have a lightly configured kernel as the boot kernel and > then load a lot of modules once the system comes alive. > > My goal for a busybox / glibc based system is around 8 MB of disk usage... This > should be easily achievable when eglibc is able to be configured, mklibs is run > and a reasonable set of modules is available. In that case, perhaps we can accomplish my goals without a new type of image (micro as rp called it - which is a heckuvalot bigger than a yocto I should add ;-). Something to add to the "to investigate" list. -- Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Minimal images: kernel config 2011-02-18 18:52 ` Mark Hatle 2011-02-18 19:08 ` Darren Hart @ 2011-02-18 20:33 ` Tom Rini 1 sibling, 0 replies; 8+ messages in thread From: Tom Rini @ 2011-02-18 20:33 UTC (permalink / raw) To: poky On 02/18/2011 11:52 AM, Mark Hatle wrote: > On 2/18/11 12:25 PM, Richard Purdie wrote: >> On Fri, 2011-02-18 at 09:52 -0800, Darren Hart wrote: >>> I've been getting more and more questions regarding flash footprint, >>> memory footprint, and boot time. All of these fall under the "minimal >>> image" heading in my head. >>> >>> Currently, poky-image-minimal is a simple subset of poky-image-sato. It >>> uses busybox, but is still dynamically linked and uses the same >>> somewhat-generic kernel build. By somewhat-generic I mean we have named >>> features that often cover more drivers than are stricly necessary for a >>> given board (usb-net comes to mind). I'd like to see minimal become a >>> truly minimal image from both the userspace and kernel side point of view. >>> >>> Here's my take on this. From userspace this means uclibc and a staticly >>> linked busybox. From the kernel this means a static build (no modules) >>> with nothing more than is required for the board's built-in peripherals >>> to function, with the possible exception of something like usb-storage. >>> I'd like to see a< 10M flash size and a<8M memory footprint. >>> >>> Thoughts on this direction? >> >> That sounds more like a "micro" rather than the current minimal. Minimal >> is designed to be extended by the user, what you describe above is a lot >> harder to extend. >> >> So my take is that minimal is ok as it is stands from the dynamic linked >> busybox perspective and static linking doesn't buy you what you might >> expect it to. mklibs will probably have just as much effect. >> >> For kernel modules, I suspect even for a micro, you still want them >> since you can then start booting the kernel faster and only have what >> you need in memory (say USB peripherals). >> >> I'm not against a micro type target but its smaller that what we've been >> aiming for an introduces a new element into the Yocto test matrix. >> >> Having said all that, I expect there are ways to reduce minimal further >> than it is today as its not something anyone has looked hard at so >> far... > > The keys to reducing minimal further is eglibc configurability -- which we do > not yet have implemented While not yet being used heavily, this does exist in OE today thanks to Khem. Perhaps this would be a good candidate for oe-core? -- Tom Rini Mentor Graphics Corporation ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Minimal images: kernel config 2011-02-18 17:52 Minimal images: kernel config Darren Hart 2011-02-18 18:25 ` Richard Purdie @ 2011-02-18 19:15 ` Bruce Ashfield 2011-04-27 5:38 ` Kang Kai 1 sibling, 1 reply; 8+ messages in thread From: Bruce Ashfield @ 2011-02-18 19:15 UTC (permalink / raw) To: Darren Hart; +Cc: poky@yoctoproject.org On 11-02-18 12:52 PM, Darren Hart wrote: > I've been getting more and more questions regarding flash footprint, > memory footprint, and boot time. All of these fall under the "minimal > image" heading in my head. > > Currently, poky-image-minimal is a simple subset of poky-image-sato. It > uses busybox, but is still dynamically linked and uses the same > somewhat-generic kernel build. By somewhat-generic I mean we have named > features that often cover more drivers than are stricly necessary for a > given board (usb-net comes to mind). I'd like to see minimal become a > truly minimal image from both the userspace and kernel side point of view. > > Here's my take on this. From userspace this means uclibc and a staticly > linked busybox. From the kernel this means a static build (no modules) > with nothing more than is required for the board's built-in peripherals > to function, with the possible exception of something like usb-storage. > I'd like to see a < 10M flash size and a <8M memory footprint. From the kernel angle, I have a profile/solution for this lurking in the 2.6.34 kernel, and one that we've been updating for the 2.6.37 kernel. There's a kernel feature called "small", that when overlayed on top of any BSP, converts it to a tuned for small systems BSP. Other than that, we have to hold the line on BSP configurations. Keep them tuned and specific by default and add kernel configurations for optional features when request, not by default. That's the approach we've been taking without our 150 or so BSPs, and it has worked out really well for producing a general/debug BSP + something that is tuned for a truly embedded deployment. Bruce > > Thoughts on this direction? > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Minimal images: kernel config 2011-02-18 19:15 ` Bruce Ashfield @ 2011-04-27 5:38 ` Kang Kai 2011-04-28 19:23 ` Bruce Ashfield 0 siblings, 1 reply; 8+ messages in thread From: Kang Kai @ 2011-04-27 5:38 UTC (permalink / raw) To: Bruce Ashfield; +Cc: poky@yoctoproject.org On 2011年02月19日 03:15, Bruce Ashfield wrote: > On 11-02-18 12:52 PM, Darren Hart wrote: >> I've been getting more and more questions regarding flash footprint, >> memory footprint, and boot time. All of these fall under the "minimal >> image" heading in my head. >> >> Currently, poky-image-minimal is a simple subset of poky-image-sato. It >> uses busybox, but is still dynamically linked and uses the same >> somewhat-generic kernel build. By somewhat-generic I mean we have named >> features that often cover more drivers than are stricly necessary for a >> given board (usb-net comes to mind). I'd like to see minimal become a >> truly minimal image from both the userspace and kernel side point of >> view. >> >> Here's my take on this. From userspace this means uclibc and a staticly >> linked busybox. From the kernel this means a static build (no modules) >> with nothing more than is required for the board's built-in peripherals >> to function, with the possible exception of something like usb-storage. >> I'd like to see a < 10M flash size and a <8M memory footprint. > > From the kernel angle, I have a profile/solution for this > lurking in the 2.6.34 kernel, and one that we've been updating > for the 2.6.37 kernel. > Hi Bruce, > There's a kernel feature called "small", that when overlayed > on top of any BSP, converts it to a tuned for small systems > BSP. Other than that, we have to hold the line on BSP configurations. > Keep them tuned and specific by default and add kernel configurations > for optional features when request, not by default. We are working on "minimal image". Right now we try to reduce rootfs size, but we think there are relationships between kernel configurations and rootfs, because rootfs also contains some kernel modules. So would you send us a copy of kernel "small" configuration, more detail will be appreciated. Thanks and Regards, Kai > > That's the approach we've been taking without our 150 or so > BSPs, and it has worked out really well for producing a > general/debug BSP + something that is tuned for a truly > embedded deployment. > > Bruce > >> >> Thoughts on this direction? >> > > _______________________________________________ > poky mailing list > poky@yoctoproject.org > https://lists.yoctoproject.org/listinfo/poky ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Minimal images: kernel config 2011-04-27 5:38 ` Kang Kai @ 2011-04-28 19:23 ` Bruce Ashfield 0 siblings, 0 replies; 8+ messages in thread From: Bruce Ashfield @ 2011-04-28 19:23 UTC (permalink / raw) To: Kang Kai; +Cc: poky@yoctoproject.org On 11-04-27 01:38 AM, Kang Kai wrote: > On 2011年02月19日 03:15, Bruce Ashfield wrote: >> On 11-02-18 12:52 PM, Darren Hart wrote: >>> I've been getting more and more questions regarding flash footprint, >>> memory footprint, and boot time. All of these fall under the "minimal >>> image" heading in my head. >>> >>> Currently, poky-image-minimal is a simple subset of poky-image-sato. It >>> uses busybox, but is still dynamically linked and uses the same >>> somewhat-generic kernel build. By somewhat-generic I mean we have named >>> features that often cover more drivers than are stricly necessary for a >>> given board (usb-net comes to mind). I'd like to see minimal become a >>> truly minimal image from both the userspace and kernel side point of >>> view. >>> >>> Here's my take on this. From userspace this means uclibc and a staticly >>> linked busybox. From the kernel this means a static build (no modules) >>> with nothing more than is required for the board's built-in peripherals >>> to function, with the possible exception of something like usb-storage. >>> I'd like to see a < 10M flash size and a <8M memory footprint. >> >> From the kernel angle, I have a profile/solution for this >> lurking in the 2.6.34 kernel, and one that we've been updating >> for the 2.6.37 kernel. >> > Hi Bruce, > >> There's a kernel feature called "small", that when overlayed >> on top of any BSP, converts it to a tuned for small systems >> BSP. Other than that, we have to hold the line on BSP configurations. >> Keep them tuned and specific by default and add kernel configurations >> for optional features when request, not by default. > We are working on "minimal image". Right now we try to reduce rootfs > size, but we think there are relationships between kernel configurations > and rootfs, because rootfs also contains some kernel modules. > So would you send us a copy of kernel "small" configuration, more detail > will be appreciated. Not ignoring this. Just swamped. I'll dig this up ASAP and send it your way. Bruce > > Thanks and Regards, > Kai >> >> That's the approach we've been taking without our 150 or so >> BSPs, and it has worked out really well for producing a >> general/debug BSP + something that is tuned for a truly >> embedded deployment. >> >> Bruce >> >>> >>> Thoughts on this direction? >>> >> >> _______________________________________________ >> poky mailing list >> poky@yoctoproject.org >> https://lists.yoctoproject.org/listinfo/poky > ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-04-28 19:23 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-02-18 17:52 Minimal images: kernel config Darren Hart 2011-02-18 18:25 ` Richard Purdie 2011-02-18 18:52 ` Mark Hatle 2011-02-18 19:08 ` Darren Hart 2011-02-18 20:33 ` Tom Rini 2011-02-18 19:15 ` Bruce Ashfield 2011-04-27 5:38 ` Kang Kai 2011-04-28 19:23 ` Bruce Ashfield
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.