Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm not sure if this is the place to ask, but here we go!

I've been building my own Linux distro, and I've stripped the binaries, etc. The system won't use GCC or development tools, as it will be a Chrome kiosk, so it would greatly help if I could strip down the system...

I was wondering, is there a way that I can delete all of the unused system files (like binaries, etc.) by watching what files/libraries are used during runtime? Maybe another method is preferred, but is there a way to accomplish something like this?

Thanks!

share|improve this question

migrated from stackoverflow.com Dec 9 '10 at 16:09

This question came from our site for professional and enthusiast programmers.

    
It would probably be easier to do this by building up rather than stripping down. Also, you may be interested in busybox.net –  Zack Dec 9 '10 at 16:04
1  
Just out of curiosity, why the nickname blender? –  The Elite Gentleman Dec 9 '10 at 16:04
1  
Best place to ask is SuperUser.com –  Robin Day Dec 9 '10 at 16:04
    
@The Elite Gentleman, blender.org. I am an avid user! –  Blender Dec 9 '10 at 16:12
    
if you don't get answer here; try unix.stackexchange.com –  bbaja42 Dec 9 '10 at 21:01

4 Answers 4

These are some things I would do:

  • Build my own kernel with no loadable modules. (Build in all the required modules.) Eliminates /lib/modules ..
  • Review the init scripts and drop any programs that are not required.
  • Use ldd on the programs that are run to identify the libaries that are required.
  • Identify which commands can be replaced by busybox, and build a custom busybox to supply only those commands.
  • Identify the programs required for support and add them in.

Consider looking at what is included in a distribution like OpenWRT to see what is required for a relatively base installation. Remove what your don't need, and add what your do. OpenWRT now has builder package which makes it easier to investigate the distribution.

share|improve this answer
    
Wow, thanks! I'll have to rethink the kernel, as my OS will have to run a bunch of different setups, but I'll definitely try ldd and BusyBox. Thanks! –  Blender Dec 9 '10 at 18:46
    
It it needs to run on a bunch of setups you may want to build modules, but likely a limited set. In that case consider locking the module set during startup. –  BillThor Dec 10 '10 at 5:25

debootstrap is the tool you want. http://www.debian-administration.org/articles/426 . It's much better to build up rather than strip down.

share|improve this answer
    
Hmm, I'm building HLFS, so no Debian chroot jails for me! If I'm not mistaken, isn't this just a way to run a Debian install inside of a folder via chroot? –  Blender Dec 9 '10 at 16:16

start from something like damn small Linux and build up from that. dsL image is at most 50 mb

share|improve this answer
    
Thanks, but I've already got a working HLFS system. All I need to do is remove all of the unused binaries and libraries, as they take up a lot of space (which I am trying to save)... –  Blender Dec 9 '10 at 16:32

Why bother? Is it security you're worried about, or space/memory? I would recommend: if in doubt, don't spend the time on it.

share|improve this answer
    
Simplicity => Security. If I have no servers, no applications, nothing that can be targeted, I'm pretty safe. Also, I am keeping the security libraries, so don't worry. –  Blender Dec 9 '10 at 16:14
    
As for space, it feels bloated; 700MB for just Chrome and XOrg? That is the size of Ubuntu's disk, and that has a ton more packages. –  Blender Dec 9 '10 at 16:14
    
That's likely compressed, though. –  ceejayoz Dec 9 '10 at 16:17
    
A basic install of Ubuntu is ~ 1 GB, and I've seen Linux systems that are under 10 MB. It is compressed pretty well, though. –  Blender Dec 9 '10 at 16:22

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.