Domain: selenic.com
Stories and comments across the archive that link to selenic.com.
Comments · 57
-
Re:Rant: I found Subversion immature
You might want to take a look at Mercurial
-
Take a look at the linux-tiny patchset
There is no reason that these "experts" can't tune a 2.6 series kernel to around 1 MB (maybe less).
The linux-tiny patchset is your friend here. Using it, I've gotten a relatively full-featured kernel booting on x86 weighing in at under 800K... and that's without doing any agressive trimming, and without module support. According to his OLS 2004 presentation, Mackall has achieved a linux 2.6 kernel weighing in at a mere 363K, and others have reportedly managed a kernel as small as 191K.
Some of the linux-tiny ideas have been making their way into the mainline kernel, so this isn't just a special-purpose patchset - it's really a proving ground for kernel size minimization techniques.
-
Take a look at the linux-tiny patchset
There is no reason that these "experts" can't tune a 2.6 series kernel to around 1 MB (maybe less).
The linux-tiny patchset is your friend here. Using it, I've gotten a relatively full-featured kernel booting on x86 weighing in at under 800K... and that's without doing any agressive trimming, and without module support. According to his OLS 2004 presentation, Mackall has achieved a linux 2.6 kernel weighing in at a mere 363K, and others have reportedly managed a kernel as small as 191K.
Some of the linux-tiny ideas have been making their way into the mainline kernel, so this isn't just a special-purpose patchset - it's really a proving ground for kernel size minimization techniques.
-
Re:Download Size
Or try this script to do it automatically:
http://www.selenic.com/ketchup -
Re:When
Already saw ketchup?
http://www.selenic.com/ketchup/ketchup-0.5 :
ketchup is a script that automatically patches between kernel
versions, downloading and caching patches as needed, and automatically
determining the latest versions of several trees. Example usage:
$ ketchup 2.6-mm
2.6.3-rc1-mm1 -> 2.6.5-mm4
Applying 2.6.3-rc1-mm1.bz2 -R
Applying patch-2.6.3-rc1.bz2 -R
Applying patch-2.6.3.bz2
Applying patch-2.6.4.bz2
Applying patch-2.6.5.bz2
Downloading 2.6.5-mm4.bz2
Downloading 2.6.5-mm4.bz2.sign
Verifying signature...
gpg: Signature made Sat Apr 10 21:55:36 2004 CDT using DSA key ID 517D0F0E gpg: Good signature from "Linux Kernel Archives Verification Key "
gpg: aka "Linux Kernel Archives Verification Key "
owner.
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the Primary key fingerprint: C75D C40A 11D7 AF88 9981 ED5B C86B A06A 517D 0F0E
Applying 2.6.5-mm4.bz2 -
The Linux-Tiny Tree patch homepageSince their information page is also so tiny yet interesting, here it is copied in whole:
The Linux-Tiny Tree
The -tiny tree is a series of patches against the 2.6 mainline Linux kernel to reduce its memory and disk footprint, as well as to add features to aid working on small systems. Target users are developers of embedded system and users of small or legacy machines such as 386s and handhelds.
At this writing (Mar '04), the -tiny tree contains over 150 patches, almost all of which are configurable. Some highlights include:
- configurable removal of printk, BUG, panic(), etc.
- configurable HZ, swap partition, IDE interfaces, line disciplines...
- SLOB: a simple and space-efficient replacement for the SLAB allocator
- optional support for aio, sysfs, sysenter, ptrace, dnotify, vm86, core dumps
/proc/kmalloc for detailed tracking of memory usage- choice between 4k or 8k kernel stacks
- a tool for finding largest stack users
- a tool for counting uses of inline functions
- a tool for comparing function sizes between kernel builds
- netconsole for logging kernel messages via network
- kgdb for full symbolic kernel debugging
- kgdb-over-ethernet for debugging without serial ports
Just about all features are option via the kernel configuration system and are available as separate patches. Linux-tiny by default will build a kernel practically identical to mainline, but custom configurations with full console, disk, and network support can be booted on standard hardware with as little as 2MB of RAM.
Code contributions and suggestions encouraged, contact mpm at selenic.com. I would prefer that all new features be configurable in Kconfig and be relatively non-intrusive if possible.
-
The Linux-Tiny Tree patch homepageSince their information page is also so tiny yet interesting, here it is copied in whole:
The Linux-Tiny Tree
The -tiny tree is a series of patches against the 2.6 mainline Linux kernel to reduce its memory and disk footprint, as well as to add features to aid working on small systems. Target users are developers of embedded system and users of small or legacy machines such as 386s and handhelds.
At this writing (Mar '04), the -tiny tree contains over 150 patches, almost all of which are configurable. Some highlights include:
- configurable removal of printk, BUG, panic(), etc.
- configurable HZ, swap partition, IDE interfaces, line disciplines...
- SLOB: a simple and space-efficient replacement for the SLAB allocator
- optional support for aio, sysfs, sysenter, ptrace, dnotify, vm86, core dumps
/proc/kmalloc for detailed tracking of memory usage- choice between 4k or 8k kernel stacks
- a tool for finding largest stack users
- a tool for counting uses of inline functions
- a tool for comparing function sizes between kernel builds
- netconsole for logging kernel messages via network
- kgdb for full symbolic kernel debugging
- kgdb-over-ethernet for debugging without serial ports
Just about all features are option via the kernel configuration system and are available as separate patches. Linux-tiny by default will build a kernel practically identical to mainline, but custom configurations with full console, disk, and network support can be booted on standard hardware with as little as 2MB of RAM.
Code contributions and suggestions encouraged, contact mpm at selenic.com. I would prefer that all new features be configurable in Kconfig and be relatively non-intrusive if possible.