|
|
Subject:
Optimized BINARY LINUX distribution(commercial/download)
Category: Computers > Operating Systems Asked by: anjanbacchu-ga List Price: $10.00 |
Posted:
28 Jul 2002 22:35 PDT
Expires: 27 Aug 2002 22:35 PDT Question ID: 46336 |
Hi All, I was looking for a BINARY(with source) distribution of LINUX (2.4.1x kernel) which has been built with Intel/GCC Compiler *AND* where all the binaries have been built with GLOBAL optimizations so that the kernel is in sync with the user mode programs for maximum throughput. I should be able to get the Intel/GCC compiler and then rebuild the whole OS for my CPU of choice to get even better CPU utilization. It would also be interesting to have a mechanism to make specific components of the OS(including USER programs) more optimized than others. I'm a LINUX Newbie but have been developing Software for nearly 10 years. I need detailed instructions on how to go about doing this. Thank you very much for your interest. |
|
Subject:
Re: Optimized BINARY LINUX distribution(commercial/download)
Answered By: maniac-ga on 29 Jul 2002 21:19 PDT |
Hi Anjanbacchu, This may be far easier than you think. Kernels have been optimized and built for specific processors for a couple years now. I will use Red Hat and Mandrake as examples, but I think all the major distributions have similar features. For Red Hat 7.3, http://www.redhat.com/docs/manuals/linux/RHL-7.3-Manual/custom-guide/s1-kernel-preparing.html (we will see what that LONG URL looks like in the reply...) indicates that Red Hat builds kernels optimized for Athlon, Pentium and K6, Pentium II and up, and the older 386 and 486's. For Mandrake 6.1 and later... http://www.linux-mandrake.com/en/concept.php3 describes optimization for Pentium and later processors as well. About building your own kernel, optimized for a particular system, I suggest the following steps: 1. Install a recent commercial release of Linux. Make sure you install the development tools (e.g., gcc) and kernel products (varies by distribution, usually with a name "kernel source" or "kernel compiler"). 2. Put the kernel source into a directory named like /usr/src/linux-2.4.18 where the suffix relates to the version of kernel and any special options you may wish to use. 3. Download and apply any patches that you may need. I build a kernel for real time processing and get patches for... - kernel preemption (Robert Love - http://www.tech9.net/rml/linux/) - big physical memory allocations (BIGPHYSAREA patch) as well as I have my own patches for HZ (to 1200), increased physical memory locking (from 50% to 80%), and so on. 4. Apply the patches to the kernel in the correct order. Fix any hunk failures if needed. A typical command line is... cd /usr/src/linux-2.4.18 patch -p1 < ../patches/kernel-preempt-2.4.18.patch assumming you put your patches into the directory /usr/src/patches. 5. Follow the instructions in the README file (all of them). In brief... cd /usr/src/linux-2.4.18 make mrproper make xconfig (for the X interface, set the options you need) make dep make rpm (if you have an RPM based distribution) which will build the kernel and generate the package for installation on your system. Some older Red Hat distributions required you to use kgcc to build the kernel - add CC=kgcc to the make dep and make rpm command lines in that case. If you get the kernel source from Red Hat, there is a set of configuration files you can load to get a "known good" starting configuration to use in the xconfig step. The kernel build duration varies by system, but for me it takes a couple hours. 6. Install the kernel. The steps at this point vary based on what your boot loader you have. The steps I do using lilo are... rpm -i /usr/src/redhat/RPMS/i386/kernel-2.4.18-2.i386.rpm (alas, it has that name even when built for P-III) edit /etc/lilo.conf to add the new kernel - copy / edit a similar entry /sbin/lilo (fix errors if necessary) 7. If your system uses a disk image as part of the boot process and the script didn't update it - you will have to do this step manually. My current system doesn't do this, but I think Red Hat uses that when you use an ext3 file system for the modules to mount the root file system. 8. Reboot your system. If it fails to come up, reboot with the old kernel and diagnose the problem and fix, and repeat. I would stay away from 2.5 kernels - especially if you have IDE disks until the IDE drivers get stabilized. You will have to stay current with the kernel developers to guage the maturity of the kernel. The weekly summary at http://www.lwn.net/ has been a good resource, but may be going away soon. You can strip a lot out of a linux kernel (so it uses less memory), but as a first step - use modules to do this. Answer N to the configuration questions only if you will never use the capability. Good Luck --Maniac |
|
Subject:
Re: Optimized BINARY LINUX distribution(commercial/download)
From: anotherbrian-ga on 29 Jul 2002 00:33 PDT |
If you get TechTV (my favorite channel) you will allready know of this site http://techtv.com/screensavers/linux/ good luck |
Subject:
Re: Optimized BINARY LINUX distribution(commercial/download)
From: cubist-ga on 29 Jul 2002 14:29 PDT |
You can have a look at www.linuxiso.org, which is one of the best sources for Linux distributions. |
Subject:
Re: Optimized BINARY LINUX distribution(commercial/download)
From: mem-ga on 12 Aug 2002 03:50 PDT |
With all due respect, both the answer and the comments missed the question completely. Here's hoping that quoting works: > I was looking for a BINARY(with source) distribution of LINUX > (2.4.1x kernel) which has been built with Intel/GCC Compiler > *AND* where all the binaries have been built with GLOBAL > optimizations so that the kernel is in sync with the user mode > programs for maximum throughput. From this question I suspect you already know or have heard about Gentoo Linux. Gentoo is a distribution which is optimized for your particular machine. The way to achieve this is, of course, building everything on your machine -- which might or might not make sense (there's a limited set of processors out there, *even* if the set is large, it is still limited and at any rate several orders of magnitude smaller than the number of Gentoo users). From your question I suspect you are after a distribution which is optimized for your processor already (you don't say which processor this is). From Cheap Bytes (http://www.cheapbytes.com/), you can get prebuilt Gentoo CDs for i686. If you consult the Gentoo documentation available from http://www.gentoo.org/, you'll find detailed and readable instructions on how to build and optimize the distribution for your machine. Unless you have some hard data to back up the need for this sort of thing, I'd wouldn't do it. There's a trade off: speed vs. quality assurance. Since everything is (or could be) built on your machine, there's no way to perform any sizeable ammount of quality assurance on the "final product". Full Disclosure: I participate actively in the development of Debian GNU/Linux. To the best of my knowledge, my answer is fair, objective and accurate. |
Subject:
Re: Optimized BINARY LINUX distribution(commercial/download)
From: devnull-ga on 12 Sep 2002 00:25 PDT |
If you're looking for a binary distribution then why do you then want to rebuild the OS? Perhaps the best option if you're only interested in binaries that are optimised would be mandrake (http://www.mandrake.com) which has everything optimised for i586. Otherwise, if you're not bothered about recompiling everything then I would reitterate mem-ga's suggestion of gentoo linux. |
Subject:
Re: Optimized BINARY LINUX distribution(commercial/download)
From: tsa-ga on 15 Sep 2002 12:53 PDT |
Have a look at ROCK Linux (http://www.rocklinux.org); it supports build optimizations based on CPU type/model and different compilers (gcc 2, gcc 3 and icc (Intel C Compiler)). Full Disclosure again: I'm actively participating in ROCK Linux development.. ;-) |
If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you. |
Search Google Answers for |
Google Home - Answers FAQ - Terms of Service - Privacy Policy |