* Re: Reducing root filesystem [not found] <7CFD7CA8510CD6118F950002A519EA3001067D06@leonoid.in.ishoni.com> @ 2002-04-10 14:24 ` Piotr Esden-Tempski 2002-04-10 15:28 ` Erik Andersen ` (2 subsequent siblings) 3 siblings, 0 replies; 7+ messages in thread From: Piotr Esden-Tempski @ 2002-04-10 14:24 UTC (permalink / raw) To: Amol Kumar Lad; +Cc: linux-kernel Hi, You can try using dietlibc (http://www.fefe.de/dietlibc/) and other tools listed on http://www.fefe.de/ . There is also a project rewriting shell tools in assembler but I do not remember the name. This should reduce required root space a little. cheers Esden On Wed, Apr 10, 2002 at 07:38:09PM +0530, Amol Kumar Lad wrote: > Hi, > I am porting Linux to an embedded system. Currently my rootfilesystem is > around 2.5 MB (after keeping it to minimal and adding tools like busybox). I > want to furthur reduce it to say maximum of 1.5 MB. > Please suggest some link/references where I can find the details to optimise > my root filesystem > > thanks > Amol > > please CC me > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- bChat2: http://bchat2.bingo-ev.de ___ ___ ___ _ _ bChat: http://bchat.bingo-ev.de | _ || _ || __|| |// ROCK LINUX: www.rocklinux.org ||_|||| |||| | / -Born to run kill -9 win | _|||_||||__ | \ -"Ignorance is bliss." (Matrix) ||\\ |_LINUX__||_|\\ GPG Public Key Block: http://www.esden.net/me/esden-key-2002-01-17.asc ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Reducing root filesystem [not found] <7CFD7CA8510CD6118F950002A519EA3001067D06@leonoid.in.ishoni.com> 2002-04-10 14:24 ` Reducing root filesystem Piotr Esden-Tempski @ 2002-04-10 15:28 ` Erik Andersen 2002-04-11 14:08 ` Erik Mouw 2002-04-10 15:38 ` Jan-Benedict Glaw 2002-04-10 19:09 ` Padraig Brady 3 siblings, 1 reply; 7+ messages in thread From: Erik Andersen @ 2002-04-10 15:28 UTC (permalink / raw) To: Amol Kumar Lad; +Cc: 'linux-kernel@vger.kernel.org' On Wed Apr 10, 2002 at 07:38:09PM +0530, Amol Kumar Lad wrote: > Hi, > I am porting Linux to an embedded system. Currently my rootfilesystem is > around 2.5 MB (after keeping it to minimal and adding tools like busybox). I > want to furthur reduce it to say maximum of 1.5 MB. > Please suggest some link/references where I can find the details to optimise > my root filesystem busybox and uClibc are both a good start... -Erik -- Erik B. Andersen http://codepoet-consulting.com/ --This message was written using 73% post-consumer electrons-- ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Reducing root filesystem 2002-04-10 15:28 ` Erik Andersen @ 2002-04-11 14:08 ` Erik Mouw 0 siblings, 0 replies; 7+ messages in thread From: Erik Mouw @ 2002-04-11 14:08 UTC (permalink / raw) To: Erik Andersen, Amol Kumar Lad, 'linux-kernel@vger.kernel.org' On Wed, Apr 10, 2002 at 09:28:13AM -0600, Erik Andersen wrote: > On Wed Apr 10, 2002 at 07:38:09PM +0530, Amol Kumar Lad wrote: > > I am porting Linux to an embedded system. Currently my rootfilesystem is > > around 2.5 MB (after keeping it to minimal and adding tools like busybox). I > > want to furthur reduce it to say maximum of 1.5 MB. > > Please suggest some link/references where I can find the details to optimise > > my root filesystem > > busybox and uClibc are both a good start... Yup. Busybox+tinylogin with glibc makes a 900kB (compressed) ramdisk on StrongARM. I think I can make this a lot smaller when I use uClibc. Erik -- J.A.K. (Erik) Mouw, Information and Communication Theory Group, Faculty of Information Technology and Systems, Delft University of Technology, PO BOX 5031, 2600 GA Delft, The Netherlands Phone: +31-15-2783635 Fax: +31-15-2781843 Email: J.A.K.Mouw@its.tudelft.nl WWW: http://www-ict.its.tudelft.nl/~erik/ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Reducing root filesystem [not found] <7CFD7CA8510CD6118F950002A519EA3001067D06@leonoid.in.ishoni.com> 2002-04-10 14:24 ` Reducing root filesystem Piotr Esden-Tempski 2002-04-10 15:28 ` Erik Andersen @ 2002-04-10 15:38 ` Jan-Benedict Glaw 2002-04-10 19:09 ` Padraig Brady 3 siblings, 0 replies; 7+ messages in thread From: Jan-Benedict Glaw @ 2002-04-10 15:38 UTC (permalink / raw) To: 'linux-kernel@vger.kernel.org' [-- Attachment #1: Type: text/plain, Size: 5655 bytes --] On Wed, 2002-04-10 19:38:09 +0530, Amol Kumar Lad <amolk@ishoni.com> wrote in message <7CFD7CA8510CD6118F950002A519EA3001067D06@leonoid.in.ishoni.com>: > Hi, > I am porting Linux to an embedded system. Currently my rootfilesystem is > around 2.5 MB (after keeping it to minimal and adding tools like busybox). I > want to furthur reduce it to say maximum of 1.5 MB. > Please suggest some link/references where I can find the details to optimise > my root filesystem I really can't help you with the root filesystem, but you can do sth like this: diff -Nur test-remove-me/linux-2.2.19-clean/Documentation/Configure.help linux-schlecker-2.2.19/Documentation/Configure.help --- test-remove-me/linux-2.2.19-clean/Documentation/Configure.help Sun Mar 25 18:37:29 2001 +++ linux-schlecker-2.2.19/Documentation/Configure.help Mon Nov 5 12:42:46 2001 @@ -4942,6 +4942,14 @@ important data. This is primarily of use to people trying to debug the middle and upper layers of the SCSI subsystem. If unsure, say N. +Smaller kernel by omitting most messages +CONFIG_NO_PRINTK + Enabling this option will result in a smaller kernel by removing + most text strings. This is only useful for emdedded systems where + you've got to live with <= 4MB of RAM. I386-only for now... + + If unsure, say no. + Fibre Channel support CONFIG_FC4 This is an experimental support for storage arrays connected to @@ -210,5 +221,6 @@ #bool 'Debug kmalloc/kfree' CONFIG_DEBUG_MALLOC bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ +bool 'Eleminate *most* printk()s' CONFIG_NO_PRINTK endmenu diff -Nur test-remove-me/linux-2.2.19-clean/arch/i386/kernel/head.S linux-schlecker-2.2.19/arch/i386/kernel/head.S --- test-remove-me/linux-2.2.19-clean/arch/i386/kernel/head.S Sun Mar 25 18:31:45 2001 +++ linux-schlecker-2.2.19/arch/i386/kernel/head.S Fri Nov 2 11:21:42 2001 @@ -315,7 +315,7 @@ movl %ax,%ds movl %ax,%es pushl $int_msg - call SYMBOL_NAME(printk) + call SYMBOL_NAME(real_printk) popl %eax popl %ds popl %es diff -Nur test-remove-me/linux-2.2.19-clean/include/asm-i386/system.h linux-schlecker-2.2.19/include/asm-i386/system.h --- test-remove-me/linux-2.2.19-clean/include/asm-i386/system.h Sun Mar 25 18:31:05 2001 +++ linux-schlecker-2.2.19/include/asm-i386/system.h Mon Dec 17 14:32:03 2001 @@ -135,21 +135,15 @@ switch (size) { case 1: __asm__("xchgb %b0,%1" - :"=q" (x) - :"m" (*__xg(ptr)), "0" (x) - :"memory"); + :"+q" (x),"=m" (*__xg(ptr))); break; case 2: __asm__("xchgw %w0,%1" - :"=r" (x) - :"m" (*__xg(ptr)), "0" (x) - :"memory"); + :"+r" (x),"=m" (*__xg(ptr))); break; case 4: __asm__("xchgl %0,%1" - :"=r" (x) - :"m" (*__xg(ptr)), "0" (x) - :"memory"); + :"+r" (x), "=m" (*__xg(ptr))); break; } return x; diff -Nur test-remove-me/linux-2.2.19-clean/include/linux/kernel.h linux-schlecker-2.2.19/include/linux/kernel.h --- test-remove-me/linux-2.2.19-clean/include/linux/kernel.h Sun Mar 25 18:31:03 2001 +++ linux-schlecker-2.2.19/include/linux/kernel.h Fri Dec 14 14:53:14 2001 @@ -9,6 +9,7 @@ #include <stdarg.h> #include <linux/linkage.h> +#include <linux/config.h> /* Optimization barrier */ /* The "volatile" is due to gcc bugs */ @@ -54,8 +55,16 @@ extern int session_of_pgrp(int pgrp); -asmlinkage int printk(const char * fmt, ...) +asmlinkage int real_printk(const char * fmt, ...) __attribute__ ((format (printf, 1, 2))); + +#ifdef CONFIG_NO_PRINTK +# define printk(format, arg...) do {} while(0) +#else +# define printk(format, arg...) real_printk(format, ## arg) +#endif /* CONFIG_NO_PRINTK */ + +#define oops_printk(format, arg...) real_printk(format, ## arg) #if DEBUG #define pr_debug(fmt,arg...) \ diff -Nur test-remove-me/linux-2.2.19-clean/kernel/ksyms.c linux-schlecker-2.2.19/kernel/ksyms.c --- test-remove-me/linux-2.2.19-clean/kernel/ksyms.c Sun Mar 25 18:31:02 2001 +++ linux-schlecker-2.2.19/kernel/ksyms.c Fri Dec 14 15:24:52 2001 @@ -357,7 +357,7 @@ /* misc */ EXPORT_SYMBOL(panic); -EXPORT_SYMBOL(printk); +EXPORT_SYMBOL(real_printk); EXPORT_SYMBOL(sprintf); EXPORT_SYMBOL(vsprintf); EXPORT_SYMBOL(kdevname); diff -Nur test-remove-me/linux-2.2.19-clean/kernel/printk.c linux-schlecker-2.2.19/kernel/printk.c --- test-remove-me/linux-2.2.19-clean/kernel/printk.c Sun Mar 25 18:31:02 2001 +++ linux-schlecker-2.2.19/kernel/printk.c Fri Dec 14 14:52:50 2001 @@ -249,7 +249,7 @@ return do_syslog(type, buf, len); } -asmlinkage int printk(const char *fmt, ...) +asmlinkage int real_printk(const char *fmt, ...) { va_list args; int i; This is for i386, but it can be implemented like this for other architectures. Please note: - The patch to system.h is only neccessary because gcc will magically miscompile the code if there's no printk() resulting (at least) in a broken DMA (de)registering functions rendering the floppy.o module useless. Maybe you don't need this patch. It was _not_ developed by me but send by Momchil Velikov <velco@fadata.bg>. - In 2.4.x, EXPORT_SYMBOL((real)printk) is not in kernel/ksyms.c, but in kernel/printk.c - BigFatWarning: It shouldn't be, but there might be code fragments that do more than only printing in a printk call (like 'printk(KERN_ERR "%d\n", a=func(a))') Things like this _will_ break!!! MfG, JBG -- Jan-Benedict Glaw . jbglaw@lug-owl.de . +49-172-7608481 -- New APT-Proxy written in shell script -- http://lug-owl.de/~jbglaw/software/ap2/ [-- Attachment #2: Type: application/pgp-signature, Size: 240 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Reducing root filesystem [not found] <7CFD7CA8510CD6118F950002A519EA3001067D06@leonoid.in.ishoni.com> ` (2 preceding siblings ...) 2002-04-10 15:38 ` Jan-Benedict Glaw @ 2002-04-10 19:09 ` Padraig Brady 2002-04-11 1:59 ` Miles Bader 3 siblings, 1 reply; 7+ messages in thread From: Padraig Brady @ 2002-04-10 19:09 UTC (permalink / raw) To: Amol Kumar Lad; +Cc: 'linux-kernel@vger.kernel.org' Amol Kumar Lad wrote: > Hi, > I am porting Linux to an embedded system. Currently my rootfilesystem is > around 2.5 MB (after keeping it to minimal and adding tools like busybox). I > want to furthur reduce it to say maximum of 1.5 MB. > Please suggest some link/references where I can find the details to optimise > my root filesystem > > thanks > Amol > > please CC me Obviously it depends what logic you want in your root partition, but without too much effort we've created the following minimal system that can do web downloads and write flash cards, and is generally very configurable with shell scripting etc. Note we used dietlibc for our binary. Note also when we did this buysbox was not compatible with dietlibc. 5 /boot/message 10 /etc/hosts.allow 12 /etc/host.conf 24 /lib/modules/2.4.16-9afo/modules.pnpbiosmap 29 /lib/modules/2.4.16-9afo/modules.parportmap 31 /lib/modules/2.4.16-9afo/modules.generic_string 51 /bin/runlcdd 73 /lib/modules/2.4.16-9afo/modules.ieee1394map 81 /lib/modules/2.4.16-9afo/modules.isapnpmap 81 /etc/sysconfig/network-scripts/ifcfg-eth1 99 /lib/modules/2.4.16-9afo/modules.pcimap 101 /etc/fstab 103 /etc/passwd 108 /etc/group 120 /etc/issue 125 /etc/sysconfig/network-scripts/ifcfg-lo 127 /etc/hosts 134 /etc/shells 189 /lib/modules/2.4.16-9afo/modules.usbmap 192 /etc/suauth 238 /etc/nsswitch.conf 281 /bin/rescue.ash 396 /etc/inittab 538 /etc/profile 595 /etc/protocols 976 /etc/init.d/rc 6008 /boot/boot-text.b 16406 /bin/afrescue 20480 /boot/map 102273 /lib/modules/e100.o 674931 /boot/bzImage 717992 /bin/busybox -------- 1542809 ======== So to get this even smaller: 1. Get busybox working with dietlibc/uclibc (this probably already done) 2. use something like UPX to "transparently" compress executables. 3. use e2compr to transparently compress the whole filesystem (gzip/bzip2 available). dri@sxb.bsf.alcatel.fr has a patch for this. Padraig. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Reducing root filesystem 2002-04-10 19:09 ` Padraig Brady @ 2002-04-11 1:59 ` Miles Bader 0 siblings, 0 replies; 7+ messages in thread From: Miles Bader @ 2002-04-11 1:59 UTC (permalink / raw) To: Padraig Brady; +Cc: Amol Kumar Lad, 'linux-kernel@vger.kernel.org' Padraig Brady <padraig@antefacto.com> writes: > 1. Get busybox working with dietlibc/uclibc (this probably already done) busybox works fine with uclibc (you'd hope so, since they have the same author!). -Miles -- Run away! Run away! ^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: Reducing root filesystem @ 2002-04-10 16:36 Kerl, John 0 siblings, 0 replies; 7+ messages in thread From: Kerl, John @ 2002-04-10 16:36 UTC (permalink / raw) To: 'Amol Kumar Lad'; +Cc: 'linux-kernel@vger.kernel.org' For my boards, I have about a 5 MB RAM disk, at least half of which is libraries, much of which I know is library routines which my embedded system never calls. If I were tight on space, here is where I would trim. I don't know if you're doing PowerPC or some other processor, but nonetheless you might check out http://penguinppc.org/embedded/howto/PowerPC-Embedded-HOWTO.html and especially section 12: http://penguinppc.org/embedded/howto/library.html for some pointers to small C libraries. -----Original Message----- From: Amol Kumar Lad [mailto:amolk@ishoni.com] Sent: Wednesday, April 10, 2002 7:08 AM To: 'linux-kernel@vger.kernel.org' Subject: Reducing root filesystem Hi, I am porting Linux to an embedded system. Currently my rootfilesystem is around 2.5 MB (after keeping it to minimal and adding tools like busybox). I want to furthur reduce it to say maximum of 1.5 MB. Please suggest some link/references where I can find the details to optimise my root filesystem thanks Amol please CC me - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2002-04-11 14:08 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <7CFD7CA8510CD6118F950002A519EA3001067D06@leonoid.in.ishoni.com>
2002-04-10 14:24 ` Reducing root filesystem Piotr Esden-Tempski
2002-04-10 15:28 ` Erik Andersen
2002-04-11 14:08 ` Erik Mouw
2002-04-10 15:38 ` Jan-Benedict Glaw
2002-04-10 19:09 ` Padraig Brady
2002-04-11 1:59 ` Miles Bader
2002-04-10 16:36 Kerl, John
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox