Boot Virtual Memory File System Support Make example essay topic

3,400 words
Gentoo Gentoo- web is a distribution that has 3 different install methods. You can just install from the CDs known as stage 3. You can install the base system from CD known as stage 2 and then custom compile the rest of the OS from scratch to bring it to stage 3. This makes the system faster and more responsive but takes some time. Last is the stage 1 install where EVERYTHING is built from scratch. This makes for an EXTREMELY customized and streamlined system.

However this method can take DAYS depending on the speed of your computer. A broadband connection would be recommend for a stage 2 or 1 install. Gentoo does all this with what is called Portage. you can basically type 'emerge ' and it will download, configure and compile the software for you. This makes maintaining the system very easy. Gentoo also has a great support base and is available for the MAC platform as well. install guide Note-The following guide is EXACTLY what I did for my install and it was adapted from the official gentoo installation handbook here. - web Download and burn the x 86 minimal ISO and boot from the CD. 2.

You will see a boot prompt where you can choose different kernels or view other options. We " ll just hit enter since we don't need anything special. 3. You will then see a splash screen with a purple cow and the system will boot in the background. 4. When it's done you will have the standard linux command prompt.

You will do everything for the install from here. No GUIs for you. 5. For this guide I will use an internet connection for everything. It is possible to install from CDs as well but including that info here would make it WAY too long.

As such we need to mark sure networking is working correctly. To check use the ' command. There should be an entry for eth 0. If so run this command ' eth 0' that will request an ip address from the router. If you don't see anything with try ' -a' if there is no eth x entry then the network card did get the correct driver loaded at boot.

You will have to look up what kind of network card you have and find the appropriate module (driver) and load it using the mod probe command. I had to do this myself 'mod probe pc net 32' to load the correct driver. I could then run ' eth 0' to get my ip address. 6.

To get the best disk performance during the installation we will set some safe settings for the hard drive. Type in the following command ' -d 1 -A 1 -m 16 -u 1 -a 64 /dev / hd a' assuming / dev / hd a is the disk you want to install to. 7. Now you need to partition the disk. There are a lot of different partition schemes you can use. The gentoo install guide suggests 3.

One for /, one for / boot and one for swap. I set mine up with 2 to keep it simple. one for / and one for swap. You will use the f disk program to partition your drive like this 'f disk / dev / hd a' you can then press 'p' and enter to view the partition table use 'd' to delete partitions and 'n' to create new ones. I created a new partition with a capacity of 128 MB on / dev / hd a 1 for swap and a new partito n on / dev / hd a 2 that used the rest fo the space for /. Don't forget to use 't' to specify the type of partition for the swap partition it should be set to 82. When you have things the way you want hit 'w' and enter to write the changes and quit.

8. Now we have to create the file systems for the partitions. You need to kn wo what type of file system you want first so that you use the appropriate tool. In my case I'm using rei serfs so I type in ' /dev / hd a 2' and it will format the partition, 'mk swap / dev / hd a 1' will format the first partition as a swap partition. 9. Now we will turn on the swap partition like so 'swap on / dev / hd a 1'10.

Now we are going to mount the / partition 'mount / dev / hd a 2 /met / gentoo ' and then make a boot directory 'mk dir / met / gentoo / boot'11. We need to check the date before we do anything else the 'date' command will accomplish this. If it's wrong 'date MMDDhhmm ' will fix it. 12. So now we get to download the stage 1 installation files. go to the / met / gentoo directory and type 'links web '. Welcome to command line web browsing.

This will bring up the list of Gentoo mirrors in the browser. Select a mirror that is close to you then navigate to releases, then x 86, then 2004.2, then stages, then x 86 again, then stage 1-x 86-2004.2. tar. bz 2. Hit d to download the file. When it's done hit 'q' to quit. 13. Now you " ll type 'tar - stage 1-x 86-2004.2. tar. bz 2' that will extract the files from the archive.

14. Now we have to configure the build options for the system so we will run 'na no -w / met / gentoo / etc / make. conf' 'Here you set the type of system you are building for, optimizations, USE flags (later), and other build options. Mine is setup as follows CFLAGS = '-march = -xp -pipe -f omit-frame-pointer -O 3'CHOST = 'i 686-pc-linux-gnu " CXXFLAGS = '${CFLAGS}'MAKEOPTS = '-j 2'This basically says build everything optimized for the Athlon XP. -pipe and -f omit-frame-pointer are other compile options. -O 3 set the optimization level to 3 which is as high as it goes.

Obviously you will have to modify this to fit your particular system. when you have everything set the way you like it press carl+x to quit and press 'y' and then enter to save. 15. To make sure you get the fastest mirrors for downloading the rest of the OS use the following command 'mirror select -a -s 4 -o | grep 'GENTOO MIRRORS = ' /met / gentoo /etc / make. conf'16. Now we will copy the DNS info fro networking before entering the new gentoo system. This is done like so 'cp -L / etc / resolve. conf / met / gentoo / etc / resolve. conf'17. We have to mount the proc file system as well like so 'mount -t proc none / met / gentoo / proc'18.

Now we switch over to the new gentoo system like this. 'ch root / met / gentoo / bin / bash ' This will change our root file system from the CD we booted from to the hard drive with the bash shell. you need to run 'end-update' and 'source / etc / profile ' as well. 19. Now we have to update the portage tree so that portage knows what packages are available. 'emerge sync' will do this for us. If you are behind a firewall that blocks ftp traffic you can use 'emerge-'. This will take some time so be patient. 20.

Once that finishes you need to set your USE flags. These determine what compatibility is built when the programs are compiled. For example '-gt k -gnome qt kd e' removes support for gnome and gt k and adds support for kd e and QT. You set them by editing the make. conf file again. 'na no -w / etc / make. conf' Mine are set as follows 'USE = '-gt k -gnome qt kd e als a cd dvd cdr's o my final make. conf file looks like this. CFLAGS = '-march = -xp -pipe -f omit-frame-pointer -O 3'CHOST = 'i 686-pc-linux-gnu " CXXFLAGS = '${CFLAGS}'MAKEOPTS = '-j 2'USE = '-gt k -gnome qt kd e als a cd dvd cdr " Save and quit na no. 21. It's time to bootstrap the system.

This will build the C compiler to build the rest of the system and some basic utilities. Go to the / us / portage directory and type 'scripts / bootstrap. sh'. Then go find something to do for a couple of hours. 22. When that finishes you are now at stage 2. We want to be at stage 3 though to get a working system.

Now we will run 'emerge system'. Now go find something to do for another couple of hours. Hey on the bright side this step takes less time than bootstrapping. 23. Now that that's done we need a kernel.

There a couple different options depending on what the system will be used for. We will use the gentoo-dev-sources for a standard 2.6 kernel, 'emerge gentoo-dev-sources' will get the job done. 24. Now we need to make sure that / us /'s rc / linux points to the linux source code like this 'ln -s / us /'s rc / linux. .. kernel version / us /'s rc / linux '25.

Now we configure the kernel. (note-I am not going to cover the gen kernel method. After all, we " re doing things the hard way so far so why stop?) cd to / us /'s rc / linux. Type 'make '. This will bring up the kernel configuration, here you can add and remove support for your system hardware.

I cannot be much help because everyone's system is different, I wish you the best of luck though. The only thing I can make sure you include is under Code maturity level options Prompt for development and / or incomplete code / drivers make sure you have that selected and File systems -- - Pseudo Filesystems / proc file system support [ ] /dev file system support (OBSOLETE) [ ] Automatically mount at boot [ ] Virtual memory file system support (former she fs) Make sure all those are enabled as well and in file system make sure you add support for whatever file system you formatted / as. When you " re done exit the configuration a nd you " ll be asked to save. Save and then type 'make && make modules install' this will build the kernel and any modules you selected and install them. When that's done type 'cp arch / i 386/boot / bz Image / boot / kernel -2.6' and then 'cp System. map / boot/System. map-2.6.

' This will copy the kernel to the / boot directory. 26. you can now emerge drivers for other hardware you have like the at drivers or drivers. In my case all the needed drivers are int eh kernel already so nothing else is needed. 27. Now we have to setup the / etc / f stab. This file tells linux what is mounted where and with what permissions. 'na no -w / etc / f stab' will do this.

This is my example / dev /hd a / rei serfs, not ail 1 1/dev / hd a 1 none swap sw 0 0 none / proc proc defaults 0 0 none / dev / she defaults 0 0/dev / cd roms / cd rom 0 /met / cd rom auto no auto, user 0 0 Your's may be different depending how you setup your partitions. The general idea is like this: partition mount point file system type options dump check 28. Now we setup the networking information like so. 'echo tux / etc / host name' replace tux with the name you want for your computer. Then type 'echo home network / etc/' home network would be the same thing as a work group windows. Now we will add this information to the system startup sequence like this 'rc-update add domain name default'. 29.

Now we have to configure the network interface like this 'na no -w / etc / conf. d / net ' you are looking for the i face eth 0 entry. We will add dh cp to the end assuming you " re using dh cp on your network. The following file should explain a bit. (For DHCP) i face eth 0 = 'dh cp'# Some network admins require that you use the# host name and domain name provided by the DHCP server. # In that case, add the following to let use them. # That will override your own host name and domain name definitions. eth 0 = '-HD'# If you intend on using NTP to keep your machine clock synchronized, use# the -N option to prevent from overwriting your / etc / n tp. conf eth 0 = '-N' (For static IP) i face eth 0 = '192.168.

0.2 broadcast 192.168. 0.255 net mask 255.255. 255.0'gateway = 'eth 0/192.168. 0.1' (For rp-pp poe) i face eth 0 = 'up'30. Once you have that modified we will have it start at boot like this 'rc-update add net. eth 0 default'31. Now we have to set a root password.

Type 'passed' and you " ll be asked for a new root password. 32. Optional: modify / etc / rc. conf as you see fit. This file is well commented so you know what's going on. Modify it with na no like so 'na no -w / etc / rc. conf'33. Now we need a system logger to watch what's going on in the system. so let's emerge meta log 'emerge meta log' when that's done type 'rc-update add meta log default' to have it start at boot.

34. Optional: you don't need a cr on daemon but it is required if you want to run a given task like say emerge sync every friday or something similar. We " ll install one just in case 'emerge -cr on' when it's done 'rc-update add -cr on default' to load it at boot. 35. Now we need the file system tools, so we 'emerge ' to install them. 36.

Now we need a boot loader. You can use either GRUB or lilo o. I will use lilo as I find it easier to work with. So 'emerge lilo' will get it installed. now we need to configure it by 'na no -w / etc / lilo. conf'. I won't go into depth on the configuration but the details can be found here- web is my example configuration boot = /dev/ = 50 default = gentoo vga = normal image = /boot / bz Image-2.6 label = gentoo read-only root = /dev / hd a 2 When you get that done and saved type 'lilo' and it should install lilo. If it worked you should see something like Added gentoo 37.

Last we need to set the timezone 'ln -sf / us / share / zone info / GMT /etc / local time' Adjust GMT to fit your area. 'ls / us / share / zone info | less's should list all available timezones. 38. Now comes the scary part, rebooting and hoping it all worked! type 'exit' that will bring you back to the CD. No type 'reboot'.

When the system reboots remove the CD from the drive. If all went well you will be greeted by lilo. select gentoo and the system should start booting. Hopefully everything goes well. 39. You should be brought to a login prompt.

Login as root. Where you go from here is up to you. We want to install KDE so let's do that. 40. Type 'emerge kd e' and go on vacation (well maybe not that extreme but go do something to burn some time) or something. This will take A LONG TIME.

41. When that finishes run 'end-update && source / etc / profile '42. Now run ' which will bring up an interactive configuration utility to configure the x window system that runs KDE, GNOME, and most of the other window managers. 43. When that's done we need to make sure kd e starts when we type start so we edit / etc / rc. conf 'na no -w / etc / rc. conf' at the bottom there is an entry for #XSESSION = '. Remove the the #.

We need to know how kd e is started. This is determined like so 'ls / etc/X 11/Sessions' This will show some entries depending on what's installed, like these-Xsession flux box kd e-3.2. 2. You can see we have kd e-3.2. 2 so we add that to the XSESSION like this XSESSION = 'kd e-3.2. 2'.

If you want to have a graphical login add this line DISPLAY MANAGER = 'km' now you " ll get a pretty graphical login. Exit and save. 44. Now type start and assuming you got everything in right you will see the KDE Personalized where you will setup your language, themes, and other graphical options.

45. When that's done you " ll see your new Gentoo desktop. Enjoy! Install time: 28 hours 15 minutes-From stage 1 Install medium: 1 CD Kernel version: latest available in the portage tree. testing was done on version 2.6. 8 Hardware detection: Note-boot with's mp kernel on the install CD as it tends to auto detect had ware better than the non's mp version. Video: detect ves a and used ves a driver which worked fine from install CD.

Final detection when running from hard drive is up to you and your kernel configuration. Hard drive: detected correctly but had to load ide-disk module to be able to partition and mount drive with non SMP kernel. SMP kernel worked correctly. CD drive: detected correctly USB: detected correctly by install CD. Add support to the kernel during install Sound: correctly by install CD.

Add support to the kernel during install Networking: detected correctly by SMP kernel and work automatically, non SMP kernel required the loading of the pc net 32 module to detect the network card and then had to manually pull an IP adress using dhcpcdPartitioning: REQUIRES knowledge of linux's f disk and formatting tools. Bootloader: Grub or Lilo, it's your choice Disk Usage: 2.3 GB Boot-command line login-40 sec Command lin login-desktop-18 sec Mozilla start time: 7 secKonquerer start time: 4 sec Comments: Although not significantly faster with conservative build options and use flags, gentoo does offer an AWESOME package manager and yields a fast system when built from stage 1. For those who don't want to wait for a stage 1 install I suggest you look hard at Yoper. The apt system works nearly as well as portage and will install binaries as opposed to source / compiling and you will have a very comparable system. First time linux user should look into understanding Linux partitioning schemes and understanding how the kernel and modules work as well. Hardware detection is kind of up in the air on this one because you build the kernel yourself so YOU decide what is supported.