Strategies and recommendations I will this laptop computer for writing as well as remote access to my more powerful desktop development system.
Therefore, I need system has network support, shell, such as the vi text editor, for document versioning of CVS and SSH Secure remote access. In terms of resources, I have a hard drive memory and 540MB 12MB can be used. Because in my has not completely studied domain, so I chose to have a lot of small milestone. I in this article uses this approach. Recurrent milestone for the helped me determine whether progress has been made to solve problems; recurrent milestone in a step not claimed as effective work, can help you debug the process. I in this article there are several encourages you, even if the system has not yet been completed, you may also wish to try it on your system. These tests can help you determine the work up to that point is correct. My first suggestion is to not consider using any of the established Linux distribution. My original hope through the installation of existing Linux distributions to avoid from the beginning. But soon found that they need more than the available resources. Even if the Slackware (long to support is famous for its low memory system) also requires at least 12MB memory you can install distribution, even in this case also work very reluctantly. Before you begin to build system you might want to consider the possibility of a "from an existing single-disk" Linux distributions such as tomsrtbt (single-disk emergency floppy distribution), Trinux (single-disk Linux security Toolbox) or even TinFoilHatLinux (is designed for encryption, signing, and erase files secure Linux distribution)-start, and then extend them. To actually start building your own system before, I study a few of mini distribution version and learned a lot. While I study on the distribution of resources specifically for finite hardware (such as my laptop), but they do share a common goal — as much functionality into a small space as possible. Although they are to achieve this goal are many trade-offs for me is unacceptable, but I noticed the uClibc, BusyBox, and eventually I used both. UClibc every Linux system needs a C library. C libraries provide a common file operation (open, read and write), memory management (malloc and free) and many other makes of a Linux system worthy of the name of the function. Most Linux systems using Glibc. Glibc is mature, after good tests, and is a positive development. Unfortunately, the amount of memory it uses relatively more, my machine is not acceptable. I do not recommend using Glibc, recommends using uClibc, which is a modern, stable, high compatibility of glibc alternatives. UClibc is designed for embedded systems development, it strives to become a complete but lightweight C library. Speed and size tradeoff decisions by size. Nevertheless, in most cases, against uClibc compiled applications and tools and compiled for glibc. UClibc Web site (see references) lists more than 100 known or has been reported using uClibc applications. The list includes such as Gzip and Lilo of standard utilities and like Lame (MP3 encoder) and Freeswan (VPN) so that the less commonly used utilities. Because I run on the system tools and applications of maturity to measure the effectiveness of a system, so for me, I chose C library can support I need tools is very important. Dietlibc is another alternative glibc C libraries. My research shows that although Dietlibc needs more memory than the uClibc less, but it is through sacrifice and Glibc compatibility accomplishes this. Finally, I choose to use the uClibc, because it looks like it will support more I need to use the application. BusyBox Linux system users need a number of rich command-line tool to set up working environment. Because one build all the necessary tools seems to be a very time-consuming task, so I again use the experience of embedded system, select the BusyBox, this is a "Jack of all trades" application, it is in a binary file with the server to which you want to see in Linux system most of the tools. Through the use of BusyBox, I retain valuable resources and save a lot of time. I can not find other like it toolset. Components and preparations to continue, you need to have the right to use an existing Linux system — preferably the system runs the microprocessor and your target is the same series. A computer running Linux on old laptop computers are used to writing and editing of excellent environment, but when it is compiled packages is unable to compete with the modern hardware. We will use an existing Linux system to build the kernel and support software, and to create a boot the target system into the Linux disk required. Will Linux installed on the target system, in the finished product before transfer to the target system, we will continue to use existing systems to build the application. I took an existing Linux system called "building systems", and to other Linux system known as the "target". First, download the following packages (see the reference information for the link): linux-2.4.19.tar.gz (kernel) uClibc-0.9.15.tar.gz (C library) busybox-0.60.4.tar.gz (useful command line tools)Util-linux-2.11u.tar.gz (fdisk executable) e2fsprogs-1.27.tar.gz (used for file system) lilo-22.3.2.tar.gz (boot loader, bootloader) in order to link with uClibc build and BusyBox, you need to target the/usr directory to install uClibc development environment, so you need to write to this directory. Part of this process includes building a simple root file system. I through the provision of root file system framework simplifies the steps, at the same time there are provided the necessary configuration files and device files. You can download it from the reference document framework skeleton.tar.gz. You need to read and understand the necessary documentation, including README and INSTALL documents. Because there are so many options and exceptional circumstances, it cannot be in this article describes all the permutations and combinations. In the following sections, I describe my recommended configuration. Let's build the kernel. Building a Linux kernel build an effective Linux kernel without changing the default configuration is possible. But several well-thought change will result in a more suitable for our needs. In particular, I always remember the needs of your network connection. The following table lists the options I changed, and you may want to make changes to the system. Kernel configuration note: Laptop networking may need PCMCIA support. Older laptop could not support the newer Cardbus (32 bit) card, but it is usually not a problem, because there are still many 16-bit cards on sale. If you plan to connect to the network via a cable, you need to select "PCMCIAnetworkdevicesupport" suitable driver, this was not included in the list. I use a wireless connection. Many of the 16-bit PCMCIA card using Hermes chipset. You may need to slightly change the configuration to meet your PCMCIA controller chipset and PCMCIA cards. Configure the kernel to specifically support your CPU. If you are new machinery for older machine building kernel, then you need to select the appropriate processor, such as the Intel386 or 486. In order to save space, you may want to disable you think all option is not required, in particular SCSI support. The following are the steps to build the kernel: makexconig makedep makebzImage makemodules later on, I will describe how to install the kernel. Building construction construction uClibc uClibc than kernel more challenging. UClibc packages build two related components. The first component is to support your target system utilities and applications that run-time library. The second component is a development environment. UClibc development environment to build using uClibc utilities and applications easier, even in their own systems without using uClibc. Create and install for uClibc gcc and related tools by the wrapper. Once you have installed the uClibc development environment, you can instead against uClibc glibc to compile and link the most applications. UClibc configuration of the list of these three options to build and install like SSH and NFS such software (if you later choose to do so). You also need to specify the location of the Linux kernel source files. The following steps outline how to build the uClibc packages. Use these steps if you have to unzip the compressed document to uClibc-0.9.15 directory: cduClibc-0.9.15 ln-s. edit Config file/extra/Configs/Config.i386./Conig. Enabled on the options specified in the table. Make the above instructions assume you are building for the Intel microprocessor uClibc. If you build for other microprocessor uClibc, in the above step 2 to create a link to the appropriate Config file. Make command to build the package. In order to use the uClibc compile and link with other utilities and applications, you need to install the development environment. Makeinstall commands to install the development environment. Once you have installed the development environment, you can change the PATH environment variable, using uClibc development tool to replace the standard development tools based on Glibc, as follows: exportPATH =/usr/bin: $ PAT once you change the PATH environment variable, you'll find that most development command (gcc, ld and ldd, etc.) now point to uClibc wrapper. But the command should work as usual. In constructing the following software before you correctly set the PATH environment variable is very important. In my Redhat7.3 systems cannot be built on the latest version of uClibc (version 0.9.15). Used to locate a gcc headers in release version 0.9.12-time has changed. If your system cannot build uClibc, you can apply this article references section provides uclibc patches. It will be the previous technique to uClibc's latest release. Later on, I will describe how to boot up and root file system on a run-time environment installed. Construction of BusyBox if you have a task to more than other tasks can simplify Linux system from scratch build process, it is to build and install BusyBox package. BusyBox is an executable file, it provides many other common command line tools features, all of these features one. BusyBox document claims that an efficient system of all is the BusYBox and "/dev,/etc and kernel" — but they are not joking. The following table describes what you should change the file Config.h.
No comments:
Post a Comment