Embedded linux

From NuclearCat's homepage

Jump to: navigation, search

Contents

GPL compliance patches

Because i am removing or modifying not required for me stuff for my projects, and sometimes distributing my code, i am publishing diff's with original code here:

WRAP SC1100 reboot fix (trivial)

--- linux-2.6.23/arch/i386/kernel/reboot_fixups.c       2007-10-09 23:31:38.000000000 +0300
+++ linux-2.6.23-new/arch/i386/kernel/reboot_fixups.c   2007-11-04 04:34:44.000000000 +0200
@@ -42,6 +42,7 @@
 static struct device_fixup fixups_table[] = {
 { PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5530_LEGACY, cs5530a_warm_reset },
 { PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CS5536_ISA, cs5536_warm_reset },
+{ PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_SC1100_BRIDGE, cs5530a_warm_reset },
 };

 /*

Debug and other Tricks

                uart[8250],io,<addr>[,options]
                uart[8250],mmio,<addr>[,options]
                        Start an early, polled-mode console on the 8250/16550
                        UART at the specified I/O port or MMIO address,
                        switching to the matching ttyS device later.  The
                        options are the same as for ttyS, above.

Sizes

I tried to track, what is consuming most space in kernel while compiling kernel

  • Generic i386 kernel - 251Kb
  • Added networking - 302Kb (51Kb)
  • Added Virtual terminal - 366Kb (+64Kb)
  • Added printk support - 387Kb (+21Kb)
    • Removed Optimize for size - 429Kb, reversed (+42Kb, 10%)
    • Removed initrd/initramfs support - 381Kb (-7Kb)
  • Changing SLOB to SLUB - 392Kb (+5Kb)
  • Removing HID devices - 383Kb (+9Kb)
  • Enabling block layer(and it enable also a lot of another nasty stuff seems) - 424Kb (41Kb)
    • Disabling ELF support 421Kb (3Kb)
  • Proc & sysctl 460Kb (36Kb)
  • sysfs 473 Kb (13Kb)
  • Inotify+Dnotify 478 (5Kb)
  • To be continued...



So TODO:

  • Remove HID
  • Remove in production VT?
  • Remove in production printk?


Links

uclibc for generic CPU, Gentoo

USE="-* -nls" UCLIBC_CPU="486" crossdev -t i386-linux-uclibc -S

Personal tools