On Saturday 06 March 2010 04:50:43 Ajith Adapa wrote: > > You can download 1.15.x, run "make allnoconfig", editing a few options in > > .config file to enable httpd (+ CONFIG_STATIC, CONFIG_CROSS_COMPILER > > etc), and run "make". > > > > Then you can replace _only_ httpd on the target system with version > > 1.15.x, leaving everything else as-is. > > > > It'll take about 15 minutes. > > You mean to say that I can build the busybox binary with the latest > 1.16 version and replace my existing busybox binary with the latest > one and start using it ??
No, he's saying you can delete the httpd symlink that points to your old busybox, and replace it with something else providing httpd functionality (such as a new busybox binary that's configured to only implement httpd, and thus is significantly smaller than a busybox binary that implements hundreds of different commands). Busybox is one big multi-function binary, which figures out how to behave based on what name it was called as. Thus standard practice is to create a lot of symlinks all pointing to the busybox binary, so it can look at argv[0] and go "I was called 'ls', that means I should call ls_main() and behave that way. Also, you don't _have_ to use symlinks. You could copy your busybox binary to every different one of those names, which would waste a huge amount of disk space, but otherwise give you equivalent functionality. (Busybox would still detect that it had been called "cat" when it was run, and behave appropriately, ignoring the other built-in functionality.) Busybox is also extremely modular. At compile time, you can enable or disable each of those commands it knows how to behave like, increasing or decreasing the size of the resulting binary. So what you can do is configure busybox "make allnoconfig", then use menuconfig to switch on just httpd and maybe a couple of tuning options, compile that, copy the resulting busybox to your target system, rename it "httpd", and stick it in your $PATH somewhere. Deleting the old httpd symlink still leaves the old httpd functionality in your existing 2006-era busybox binary, you just wouldn't be using it anymore. When you run httpd, you'd call the new binary instead. Denys: some variant of this is a FAQ. Rob -- Latency is more important than throughput. It's that simple. - Linus Torvalds _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
