4 ms·
I'd also look into Buildroot [0]. I'm currently using Buildroot for a project and the whole distribution (including libraries and executables) is under 40MB. Si
by trendia 9y ago
I'd also look into Buildroot [0]. I'm currently using Buildroot for a project and the whole distribution (including libraries and executables) is under 40MB. Since I am using a fixed dev board (i.e. peripherals are not going to change), I used lsmod to detect which drivers are needed and only build those, which really shrinks the kernel.
Buildroot also includes a cross compiler, so that you can rebuild the entire toolchain, kernel, and libraries in one go.
[0] https://github.com/buildroot/buildroot https://github.com/buildroot/buildroot
- OrangeTux 9y agoBuildroot is great! I'm using it to build distributions for several pieces of embedded hardware. But I think Buildroot targets different hardware than Tiny Core. Buildroot targets embedded systems. It therefore lacks a package manager. Tiny core seems to target bigger systems, like notebooks, servers and desktops.
- devonkim 9y agoI was under the impression that if you really want to optimize for space that you should avoid kernel module overhead entirely and build in your modules statically. Maybe it only saves a few bytes and a couple clock cycles at load time but it sounds like it’s worth a try for you.
- trendia 9y agoOh sorry, I wasn't clear about that. I run it first where every possible module is built 'M', and then once the system boots up, run lsmod to see which modules are loaded. Then, I take that list of modules and set them to "Y", and disable everything else. That way, needed libraries are statically linked and unneeded libraries aren't built at all.