.ps 13 .vs 13 .EQ delim ^^ .EN .nf \fB More Notes on GNU/Linux Installation for Lazy People and Mechanical Engineers \fR .ps 10 .nf By San Le,\fI slffea AT yahoo.com\fR Version 4.0, last updated: June 27rd, 2005 for Slackware 10.1 Version 3.1, last updated: April 14th, 2005 for Slackware 7.1 Version 3.1, last updated: February 16, 2005 for Slackware 7.1 Version 3.0, last updated: August 10, 2001 for Slackware 7.1 Version 2.0, last updated: February 12, 2000 for Slackware 4.0 Version 1.0, last updated: July 29, 1999 for Slackware 3.4 For the most current version of this guide:\fI http://www.geocities.com/Athens/2099/linux.html\fR \fB Copyright and Warranty \fR .fi Copyright (c) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 San Le. .fi Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being the\fB Introduction\fR, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". If you plan to distribute it, please go to my webpage to get the latest version. Instead of including a copy of the "GNU Free Documentation License", I will simply provide this link: \fC http://www.gnu.org/copyleft/fdl.html \fI \fB Introduction \fR .fi In September of 1997, I bought a PC for home use. Because I came from an engineering background with lots of UNIX experience, I wanted to replace Windows 95 with some type of UNIX emulator. In addition to UNIX, with GNU/Linux I got free compilers, graphics libraries, and other utilities which made my system even more impressive than the Silicon Graphics workstation I had at my last job. And, except for the cost of 4 CDs($12.53 from\fB Cheap*Bytes\fR)everything was free(I have since bought a boxed package of Slackware-7.1 for $40.00). My present goal is to write scientific programs like I did at work and add the graphics for visualization. The contents of this document represent the notes I took to install both GNU/Linux and the tools for software development. Before you read further, you should be aware of a few facts. I'm a traditional user of GNU/Linux before the days of easy installation when everyone was expected to build their own custom kernel. The instructions below are for people who are like me. If you are new to GNU/Linux, it would be worthwhile for you to simply buy\fI Redhat\fR and avoid the nuisance of kernel rebuilding. If I were smart, I'd do the same. Further, I do not include the steps of simply getting a minimum version of GNU/Linux up and running since every book and installation guide already does it(See the\fB Documentation and Bibliography\fR section below), and it actually isn't very hard. This omission means there is very little said about running\fI Setup\fR and GNU/Linux's\fI fdisk\fR. Therefore, the reader should be someone who has done a minimum installation and wants to know about the things which follow. The reader should also have engineering level experience with UNIX. My notes refer to the following system: .TS tab(:); L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L. BIOS : Intel 1.00.09.DTO upgraded from 1.00.04.DTO. CD Drive : Hi - Val CD-RW 52x24x52 ATAPI CDROM drive Model H522452, Serial E141419 CD Drive2 : Toshiba 24x Graphics Card : ATI Rage II+ 8192 KB (replaced Matrox Millennium II 4 MB) Hard Drives : 1 6.4 Gig Western Digital EIDE, 1 120.0 Gig Western Digital IDE-ATA Keyboard : Microsoft Natural PS/2 GNU/Linux : Official Slackware 7.1 Shrink-wrap from Slackware Inc. Modem : 56K U.S. Robotics Sportster Fax Modem Internal X2 and upgraded to V.90 Monitor : Shamrock 17'' .26 dpi Mother Board : PD440FX Mouse : Logitech 3 Button PS/2 Network Card : D-Link 10/100 Fast Ethernet NIC DFE-530 TX+ PCI Adapter(Added on May 2001) Network Hub : Netgear 4 Port 10 Base-T Ethernet Hub Model EN 104 TP Processor : 233 MHz Pentium II Printer : HP Laserjet 1200 SE with Postscript RAM : 64 MB EDO Sound Card : Sound Blaster Pro Compatible PnP with OPL3 Yamaha Speakers : 2 4Q Starter Series SP-690 .TE .ll 6i Most GNU/Linux documents give a very complete discussion on one particular aspect of configuration. For example, some of them cover all the different brands of one type of hardware(e.g. sound cards), and the reader is expected to find the portion which is relevant to his or her system. While this maximizes the number of people who can be helped, it also means reading a great amount of extraneous information. To make it easier on myself, I filtered out everything which does not pertain to setting up my system as given by the above list. So I've essentially done the opposite of what those documents do: I discuss many aspects of configuration for one specific combination of hardware. You are probably wondering whether my guide will be useless to you if you don't have the exact same hardware that I have. Probably not, but that is something you will have to decide for yourself. There are definitely things which you should be careful about such as configuring Xfree so that it doesn't destroy your monitor. You should also have a list of the IRQs, I/O ports, and DMA channels for your computer, since they will almost definitely be different from mine. Don't worry though. There is a lot of information which is applicable to all users(e.g. setting up\fI fstab\fR). At worst, this guide will still give you a sense of the things you need to do and the type of data about your system that you will have to provide. Because these notes were written for myself, the UNIX commands I use are presented without any explanation of what they mean or do. Some examples are the\fI vi editor\fR, commands such as\fI less\fR,\fI more\fR,\fI cd\fR,\fI tar\fR,\fI make\fR,\fI chmod\fR,\fI gunzip\fR and\fI man\fR as well as the pipe,\fI |\fR, and redirect\fI >\fR. You should also be aware that this guide makes several citations of HOWTOs, READMEs, books, GNU/Linux web pages, and whatever else provided information. I often refer to them by the full directory path from which they are located, and hopefully, they will be in the same places for you. Look at the\fB Documentation and Bibliography\fR section at the end for more about my sources. The only problem I can anticipate is that you did not get GNU/Linux from a CDrom which is where I usually read the HOWTOs. Finally, a word or warning. I did 4 installations before configuring GNU/Linux to my satisfaction. Along the way, I saved files such as\fI fstab\fR,\fI xorg.conf\fR,\fI .config\fR, and others on disk after I got them right. Although I sometimes refer to these disks, I do not think it should cause too much confusion. Hopefully, you will be able to use it as an indicator of the things which you should save on disk as well. So here we go... .IP "1.0.0" 6 .ll 6i \fBSystem Resource Report from Windows 95 \fR The first thing to do is get a printout of the\fB System Resource Report\fR from Windows 95 which gives the I/O Port, IRQ, and DMA usage summary of the computer. Open the\fI Start/Settings/Control Panel\fR menu, select the\fI System\fR icon, then open the\fI Device Manager\fR. Press the\fI Print...\fR button, and for the\fI Report type\fR choose\fI All devices and system summary\fR. Another way to get data is to run\fI msd.exe\fR from DOS. This program is located in the DOS directory. For more on\fI msd.exe\fR, look on page 775 of\fI Mastering DOS 6: Special Edition\fR. .LP .IP "2.0.0" 6 .ll 6i \fBBIOS and Plug and Play \fR Originally, the BIOS was configured for Plug and Play. I turned this off by running the\fI BIOS Setup\fR program before OS boot-up and selecting\fI Use BIOS Setup\fR from the menu\fI Advanced/Plug and Play Configuration/Configuration Mode\fR. It initially was set to\fI Use PnP OS\fR. Turning off\fI PnP\fR enables me to use the sound card without having to boot GNU/Linux from DOS using\fI loadlin\fR. Turning PnP off had no effect on anything in Windows 95. This is also recommended in the /usr/doc/Linux-HOWTOs/Serial-HOWTO: .IP "" 20 .ll 6i Try to disable the PnP features in the BIOS on your computer and modem. .LP .IP "3.0.0" 6 .ll 6i \fBCreating Installation Bootdisk and Rootdisk .fi \fR .IP " 3.1.0" 11 .ll 6i Although I had boot and root installation disks from a previous installation, I still created new ones for the new kernel. Making a bootkernel disk consists of writing the boot image to a formatted floppy disk with\fI RAWRITE.EXE\fR under DOS. For more information, read the document /cdrom/bootdsks.144/README.TXT or /usr/doc/Linux-HOWTOs/Installation-HOWTO. For example, to create the bare.i bootdisk, put a formatted disk in your floppy drive and issue the following command in DOS: .nf \fC .IP "\fC e:" 45 .ll 6i This is the name of my CDrom drive in DOS .IP "" 11 .ll 6i \fC cd bootdsks.144 rawrite bare.i a: .LP \fR .IP "" 11 .ll 6i The reason I have chosen bare.i and not fat32.i is because when I ran\fI fdisk\fR in DOS and looked under\fI display partition information\fR, it said the system was FAT16. For rootdsks: .nf \fC cd e: cd rootdsks rawrite color.gz a: \fR .IP " 3.2.0" 11 .ll 6i \fBCreating a GNU/Linux boot and root disk under GNU/Linux. .fi \fR The information below is taken from /usr/doc/Linux-HOWTOs/Installation-HOWTO: .IP "" 20 .ll 6i You can use the dd(1) commands on a UNIX system to do the same job. (For this, you will need a UNIX workstation with a floppy drive, of course.) For example, on a Sun workstation with the floppy drive on device /dev/rfd0, you can use the command: .nf \fC dd if=bare of=/dev/rfd0 obs=18k .fi \fR You must provide the appropriate output block size argument (the `obs' argument) on some workstations (e.g., Suns) or this will fail. If you have problems the man page for dd(1) may be be instructive. Be sure that you're using brand-new, error-free floppies. The floppies must have no bad blocks on them. .IP "" 11 .ll 6i Note that you do not need Linux ext2 filesystem formatted disks. I use this variation of the above command: .nf \fC cd /cdrom/bootdsks.144/ dd if=bare.i of=/dev/fd0 .fi \fR and for the root disk: .nf \fC cd /cdrom/rootdsks/ dd if=color.gz of=/dev/fd0 bs=1k .fi \fR Also, if you want a rescue disk, do: .nf \fC cd /cdrom/rootdsks/ dd if=rescue.gz of=/dev/fd0 .fi \fR .LP .IP " 3.3.0" 11 .ll 6i The file /usr/doc/Linux-HOWTOs/Installation-HOWTO tells you to: .IP "" 20 .ll 6i Note that these two floppies will no longer be readable by MS-DOS (they are ``Linux format'' floppies, in some sense). .IP "" 11 .ll 6i They are not readable under GNU/Linux either. If you attempt to mount these disks under the Linux ext2 filesystem, you will get: .nf \fC mount: wrong fs type, bad option, bad superblock on /dev/fd0, or too many mounted file systems .fi \fR .LP .IP "4.0.0" 6 .ll 6i \fBPartitioning and FDISK .LP .IP " 4.1.0" 11 .ll 6i When running\fI fdisk\fR on the harddrives: .LP .IP " 4.1.1" 15 .ll 6i For first harddrive, use\fI fdisk /dev/hda\fR. .LP .IP " 4.1.2" 15 .ll 6i For the second harddrive, use\fI fdisk /dev/hdb\fR. .LP .IP " 4.2.0" 11 .ll 6i There is a lot of very good information and example partitioning schemes in the /usr/doc/Linux-HOWTOs/Disk-HOWTO. For example, it says these directories should remain attached to root: .nf \fC /bin /boot /dev /etc /lib /mnt /proc /root /sbin .fi \fR and these should be on their own partition: .nf \fC /home /tmp /usr /var /var/tmp .fi \fR Look specifically at\fI section 4 File system features\fR of the /usr/doc/Linux-HOWTOs/Disk-HOWTO for a thorough discussion of the size, speed, reliability, and content recommendations for each directory. To get a systemwide summary of how much memory was required by each directory of my current installation, I did a: \fC cd / du \fR I saved this information in the file\fI partition\fR on the disk\fI LINUX FILES TO SAVE II\fR. Using the above, this is what I have decided on the partitioning for /dev/hda: .nf \fC 1574 /dosc/ 851 / 128 /swap/ 868 /extended 538 /tmp 201 /var 3000 /usr/ .fi \fR and for /dev/hdb: .nf \fC 34105 /home/ 34105 /home2/ 34105 /home3/ 14900 /home4/ .fi \fR .IP " 4.2.1" 15 .ll 6i There is a good discussion of what each of the above directories are for in\fI Unleashed: Slackware Linux\fR on page 135 and\fI UNIX System V Release 4: The Complete Reference\fR pages 106-112. .IP " 4.2.2" 15 .ll 6i Based on the information from\fI fdisk\fR for /dev/hda(Also, look at\fB Harddrive Specs for Western Digital Hard Drive\fR below): .nf \fC Disk /dev/hda: 255 heads, 63 sectors, 784 cylinders Units = cylinders of 16065 * 512 bytes = 8225280 bytes .fi \fR I made an initial guess for the setup: .LP .nf \fC Device Boot Start End Blocks Id System /dev/hda1 * 1 196 1574338+ 6 FAT16 /dev/hda2 197 321 1004062+ 83 Linux /dev/hda3 322 384 506047+ 5 Extended /dev/hda4 385 784 3213000 83 Linux /dev/hda5 322 337 128488+ 82 Linux swap /dev/hda6 338 357 160618+ 83 Linux /dev/hda7 358 384 216846 83 Linux .fi \fR .IP "" 15 .ll 6i Setting up the partitions requires knowledge of how the drive will be used. In the discussion of /etc/fstab below, I show how and where the the partitions above will be mounted and how they are used. For now, I will note that after doing a full installation,\fI df\fR gives: .LP .nf \fC Filesystem 1K-blocks Used Available Use% Mounted on /dev/hda2 1004024 578588 425436 58% / /dev/hda4 3212896 2100856 1112040 66% /usr /dev/hda6 160604 33396 127208 21% /tmp /dev/hda7 216832 62480 154352 29% /var /dev/hdb1 34104912 1495168 32609744 5% /home .fi \fR .IP "" 15 .ll 6i Normally, I the above would indicate that the partitioning was good. Unfortunately, I discovered when trying to do burning with my CD-RW that the /tmp directory(mounted on /dev/hda6) with 160 MB is too small, and I need at least 290 MB to burn about 600 MB of data. You can read more about this below in Section 19.3.4. So I came up with a new partitioning scheme to make /tmp have at least 500 MB. The result is: .LP .nf \fC Device Boot Start End Blocks Id System /dev/hda1 * 1 196 1574338+ 6 FAT16 /dev/hda2 197 302 851445 83 Linux /dev/hda3 303 410 867510 5 Extended /dev/hda4 411 784 3004155 83 Linux /dev/hda5 303 318 128488+ 82 Linux swap /dev/hda6 319 385 538146 83 Linux /dev/hda7 386 410 200781 83 Linux .fi \fR .IP "" 15 .ll 6i As you can see, /dev/hda6 and therefore /tmp now has 538 MB. Based on the information in fdisk for /dev/hdb: .nf \fC Disk /dev/hdb: 255 heads, 63 sectors, 2482 cylinders Units = cylinders of 16065 * 512 bytes .fi \fR .IP "" 15 .ll 6i I get the following setup: .LP .nf \fC Device Boot Start End Blocks Id System /dev/hdb1 1 4246 34105963+ 83 Linux /dev/hdb2 4247 8492 34105995 83 Linux /dev/hdb3 8493 12738 34105995 83 Linux /dev/hdb4 12739 14593 14900287+ 83 Linux \fR .IP " 4.3.0" 11 .ll 6i \fBSpecial Note: \fR I have begun using the fourth partition on /dev/hdb as a back-up bootable partition. Essentially, I installed a complete version of GNU/Linux there so that if there is a failure in /dev/hda, I can boot into this partition by using my boot disk and typing at the boot prompt: .nf \fC mount root=/dev/hdb4 .fi \fR This has many advantages beyond having a redundant GNU/Linux to boot into. When the /dev/hdb drive became corrupt(which later you will see contains all personal files), I needed to transfer the data from it to a new drive. Because I am only able to have 2 drives connected at a time, I had to take out the main system drive /dev/hda, put the new drive as the master drive, boot into the back-up partition of the corrupt drive as given above, and do the file transfer. This worked very well. .LP .IP "5.0.0" 6 .ll 6i \fBSetup .fi .IP " 5.1.0" 11 .ll 6i These are the things you should choose when running\fI Setup\fR: .nf .IP " 5.1.1" 15 .ll 6i The cdrom is mounted on hdd .IP " 5.1.2" 15 .ll 6i The mouse is a PS/2 mouse .IP " 5.1.3" 15 .ll 6i The modem is on Comm Port 2 .IP " 5.2.0" 11 .ll 6i If you plan to install Windows 95 again, you should do it before running\fI Setup\fR. Windows 95 will overwrite LILO on the MBR so that it will boot automatically when restarting. .LP .IP "6.0.0" 6 .ll 6i \fBBuilding the Kernel. .fi \fR Since Slackware 10.1, I am currently skipping the building of a new kernel. Although the kernel used by the installation disk is bigger than I would like, I will use it for now since it is able to run most of the hardware on my system. If you proceed to read the rest of section six(which I am keeping in this document for now), you will see that one of the main purposes of recompiling the kernel is to get hardware such as the sound card, mouse, network card, and printer to work. All these things are working now after doing configuration through the\fB KDE\fR control panel. So I will treat the rest of section 6 as a temporary place holder in case I decide it is necessary to rebuild the kernel again and you can skip to section 7. .B1 The rest of section 6 may be skipped. It is kept here as a place holder in case I decide to rebuild the kernel in the future. .B2 Note that all the steps below must be executed in the order in which they are presented. .IP " 6.1.0" 11 .ll 6i It used to be necessary to change the file: .nf \fC /usr/src/linux/include/linux/busmouse.h .fi \fR by setting the\fI MOUSE_IRQ\fR on line 30 to the appropriate value, even if you have a PS/2 mouse. This is no longer necessary. .LP .IP " 6.2.0" 11 .ll 6i \fBSound .fi .LP .IP " 6.2.1" 15 .ll 6i In the directory, /usr/src/linux/drivers/sound/, there is a README file which you may want to read. The information pertinent to my soundcard applied to the Yamaha OPL3 card. The file /usr/src/linux/drivers/sound/Readme.cards had the following to say about that card: .fi .IP "" 20 .ll 6i Enable the generic OPL2/OPL3 FM synthesizer support if your card has a FM chip made by Yamaha. Don't enable it if your card has a software (TRS) based FM emulator. .LP .IP "" 15 .ll 6i "Generic OPL2/OPL3 FM synthesizer support", .IP "" 20 .ll 6i - Answer 'y' if your card has a FM chip made by Yamaha (OPL2/OPL3/OPL4). Answering 'y' is usually a safe and recommended choice. However some cards may have software (TSR) FM emulation. Enabling FM support with these cards may cause trouble. However I don't currently know such cards. .LP .IP " 6.2.2" 15 .ll 6i Because my card was Plug and Play(pnp), I needed the\fI ISA PnP tools\fR. My Slackware distribution already has them installed. The executables\fI isapnp\fR and\fI pnpdump\fR were both in the /sbin/ directory. You should have it too. So generate the Plug and Play configuration file with: .nf \fC pnpdump > /etc/isapnp.conf .fi \fR In the above command,\fI pnpdump\fR scans for the pnp devices such as my sound card and then dumps the information to /etc/isapnp.conf. I then edit /etc/isapnp.conf which has the following lines: .nf \fC (READPORT 0x0203) (ISOLATE PRESERVE) (IDENTIFY *) (VERBOSITY 2) (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING (CONFIGURE YMH0030/2156265473 (LD 0 \fR The lines below have to be uncommented out: \fC (IO 0 (BASE 0x0220)) (IO 1 (BASE 0x0530)) (IO 2 (BASE 0x0388)) (IO 3 (BASE 0x0330)) (IO 4 (BASE 0x0370)) (INT 0 (IRQ 5 (MODE +E))) (DMA 0 (CHANNEL 0)) (DMA 1 (CHANNEL 1)) (ACT Y) )) (IO 0 (BASE 0x0201)) (ACT Y) )) (IO 0 (SIZE 16) (BASE 0x0220)) (IO 1 (SIZE 8) (BASE 0x0530)) (IO 2 (SIZE 8) (BASE 0x0388)) (IO 3 (SIZE 2) (BASE 0x0330)) (IO 4 (SIZE 2) (BASE 0x0370)) (INT 0 (IRQ 5 (MODE +E))) (DMA 0 (CHANNEL 0)) (DMA 1 (CHANNEL 1)) (NAME "YMH0030/2156265473[0]{OPL3-SA3 Snd System }") (ACT Y) )) (CONFIGURE YMH0030/2156265473 (LD 1 (IO 0 (SIZE 1) (BASE 0x0201)) (NAME "YMH0030/2156265473[1]{OPL3-SA3 Snd System }") (ACT Y) )) \fR up to this point. \fC (WAITFORKEY) .LP .IP " 6.2.3" 15 .ll 6i From the purchase order of the system I bought, they said the sound card is built on top of the motherboard. When I look in the cdrom for the Intel PD440FX motherboard, I see the following information relating to the sound card(look in the /cdrom/readme.txt file): The sound card is a Sound Blaster Pro with the following set-up: .LP .nf \fC OPL3-SA3 Sound Blaster Base I/O Adr 220h (These numbers match the I/O Port and IRQ IRQ 5 Usage Summary that I printed out from Windows95) DMA Channel 1 WSS WSS Base Adr 530h IRQ 5 DMA Channel 0 MPU, Ctrl, Adlib, Game MPU base I/O 330h (These numbers match the I/O Port and IRQ Ctrl I/O 370h Usage Summary that I printed out from Windows95) Adlib 388h Game Port 201h .IP "" 15 .ll 6i .fi \fR Here's more information from the /cdrom/readme.txt file: .LP .nf \fC /I:xx:5,7,9,10,11 'Interrupt for Windows Sound System /D:xx,yy:0,1,3 'DMA channel for Windows Sound System /W:xxx:530,604,E80,F40 'Base I/O address for Windows Sound System /F:xxx:388,398,3A8,3B8 'Base I/O for OPL3 /M:xxx:330,320,310,300 'Base I/O address for MPU401 /C:xxx:F86,390,620,910,A10 'Base I/O address for control registers /N:xxx 'Name of the device driver /A:xx:5,7,9,10 'Interrupt for MPU401 (0 for SA2/SA3) /S:xxx:0 disable,220,240,260 'Base I/O address for Sound Blaster .IP "" 15 .ll 6i .fi \fR What I care about is the Interrupt for MPU401 (0 for SA2/SA3) statement which made me select 0 for the\fI xconfig\fR sound card setting: .nf \fC SB MPU401 IRQ(Jazz16, SM Wave and ES1688) Use -1 with SB16 .fi \fR All the above information was confirmed by the\fI System Resource Report\fR that I got from Windows95. The most important information is the\fI IRQ Summary\fR, the\fI IO Port Summary\fR, and the\fI DMA Usage Summary\fR. .LP .fi \fR .IP " 6.2.4" 15 .ll 6i If the BIOS is set to Plug and Play, you will have to boot from DOS using\fI loadlin\fR before the sound card will be recognized. To avoid this, turn PnP off(See\fB BIOS and Plug and Play\fR above). .IP " 6.2.5" 15 .ll 6i After building the kernel, if everything has been done properly, doing a: .nf \fC cat /dev/sndstat \fR .fi will produce data for your sound card (Note: It is good to do this before building the kernel since the base installation may already have detected some of the sound card settings. If it has, then you should use these settings to configure your card). For my sound card, I get: .LP .IP "" 11 .ll 6i .nf \fC OSS/Free:3.8s2++-971130 Load type: Driver loaded as a module Kernel: Linux san 2.2.6 #1 SMP Sat Aug 21 21:46:27 PDT 1999 i686 Config options: 0 Installed drivers: Card config: Audio devices: 0: MS Sound System (CS4231) (DUPLEX) Synth devices: 0: Yamaha OPL3 Midi devices: 0: MPU-401 0.0 Midi interface #1 Timers: 0: System clock 1: MS Sound System (CS4231) Mixers: 0: OPL3-SAx and AD1848 (through MSS) 1: MS Sound System (CS4231) .LP .IP "" 15 .ll 6i \fR .fi I also need to do this to initialize my card. Before, the card was initialized by having the line: .nf \fC /sbin/insmod sound trace_init=1 .fi \fR in the /etc/rc.d/rc.local file, but now that line causes the current kernel to have unresolved module errors. The file /usr/src/linux/drivers/sound/Readme.linux has some valuable information on common error messages pertaining to when you do a\fI cat /dev/sndstat\fR. .LP .IP " 6.2.6" 15 .ll 6i \fBPlaying Cdrom Music \fR Before users other than root can play the CD's from Workman, you should change the permissions of /dev/cdrom by adding the line: .nf \fC chmod 666 /dev/cdrom chmod 666 /dev/cdrom2 .fi \fR in the file /etc/rc.d/rc.M below the line: .nf \fC # Ensure basic filesystem permissions sanity. .fi \fR .IP " 6.2.7" 15 .ll 6i \fBSoft Links to CD drives \fR Note that softlinks need to be made between /dev/cdrom and /dev/hdc as well as /dev/cdrom2 and /dev/hdd. You should check this by doing: .nf \fC ls -l /dev/cdrom .fi \fR the output should be: .nf \fC lrwxrwxrwx 1 root root 8 2005-05-31 08:27 /dev/cdrom -> /dev/hdc .fi \fR It is unlikely that /dev/cdrom2 exist, so you can make the softlink with: .nf \fC cd /dev/ ln -sf /dev/hdd cdrom2 .fi \fR .IP " 6.2.8" 15 .ll 6i \fBmodules.conf file in /etc \fR As you will see below, I'm compiling the sound as a kernel module. I had to add some lines to the modules.conf file so that the appropriate modules are loaded. From /usr/src/linux/Documentation/sound/OPL3-SA2: .IP "" 20 .ll 6i Lastly, if you're using modules and want to set up automatic module loading with kmod, the kernel module loader, here is the section I currently use in my modules.conf file: .LP \fC .nf # Sound alias char-major-14 opl3sa2 pre-install opl3sa2 modprobe "-k" "ad1848" post-install opl3sa2 modprobe "-k" "opl3" options opl3sa2 io=0x220 mss_io=0x530 mpu_io=0x330 irq=7 dma=0 dma2=3 options opl3 io=0x388 .IP "" 15 .ll 6i The only thing I changed from the above was to set irq=5. It should be noted that for Slackware-7.1, instead of conf.modules, the file has been changed to modules.conf. Use whatever file which comes with your distribution. .fi \fR Also, for the CD-RW, I have added: .LP .nf \fC # Hi-Val CD RW options ide-cd ignore=hdc # tell the ide-cd module to ignore hdc alias scd0 sr_mod # load sr_mod upon access of scd0 #pre-install ide-scsi modprobe imm # uncomment for some ZIP drives only pre-install sg modprobe ide-scsi # load ide-scsi before sg pre-install sr_mod modprobe ide-scsi # load ide-scsi before sr_mod #pre-install ide-scsi modprobe ide-cd # load ide-cd before ide-scsi .fi \fR .LP .IP " 6.3.0" 11 .ll 6i \fBThe Steps of Configuration \fR .IP " 6.3.1" 15 .ll 6i There is a README file in the directory /usr/src/linux/ which also has lots of information. Here is some of its advice: .LP .IP "" 20 .ll 6i If you already have the Linux sources installed but are upgrading to a new kernel, you must remove the old sources. Use the command .LP .IP "" 20 .ll 6i .nf \fC cd /usr/include rm -rf asm linux scsi ln -s /usr/src/linux/include/asm-i386 asm ln -s /usr/src/linux/include/linux linux ln -s /usr/src/linux/include/scsi scsi \fR .fi .LP .IP " 6.3.2" 15 .ll 6i The next step is to do a: \fC .nf rm -r /lib/modules/2* .fi \fR to get rid of all the old modules. Otherwise, you will get an unresolved module error during boot-up. The modules are recreated during the\fI make modules_install\fR step. Note that there is a file called /lib/modules/2.0.30/modules.dep which will be removed after doing the above. Only after booting the new Linux kernel at least once will it be recreated. Next, remove the configuration files from the last time a kernel was built. \fC .nf cd /usr/src/linux make mrproper .fi \fR Note that the above step will erase the .config file. .LP .IP " 6.4.0" 11 .ll 6i Now, you have to do a\fI make xconfig\fR or\fI make menuconfig\fR to specify the contents of the kernel. Here are my current selections: .LP .nf \fC answer defaults 1. Code maturity level options Prompt for development and/or incomplete code/drivers y n (By saying no here, all options pertaining to developmental code and drivers will not be available(N/A) for selection. Normally, I would say no, but I added a Network card in 2001, and it required the latest driver, so I now say yes.) 2. Processor type and features a. Processor type (PPro/6x86MX) (PPro/6x86MX) b. Maximum Physical Memory (1GB) (1GB) c. MTRR (Memory Type Range Register) support y n d. Symmetric multi-processing support y y 3. Loadable module support a. Enable loadable module support y y b. Set version information on all symbols n n c. Kernel module loader (e.g. autoload of modules) y n 4. General setup a. Networking support y y b. PCI support y y c. PCI access mode Any Any d. PCI quirks y y e. Backward-compatible /proc/pci y y f. MCA support n n g. SGI Visual Workstation support n n h. System V IPC y y i. BSD Process Accounting n n j. Sysctl support y y k. Kernel support for a.out binaries y y l. Kernel support for ELF binaries y y m. Kernel support for MISC binaries y y n. Parallel port support m n o. PC-style hardware (NEW) m n q. Support foreign hardware (NEW) n n r. Advanced Power Management BIOS support n n 5. Plug and Play support a. Plug and Play support y y b. Auto-probe for parallel devices n n 6. Block devices a. Normal floppy disk support m y b. Enhanced IDE/MFM/RLL disk/cdrom/tape support y y (This must be built into the kernel) c. Use old disk-only driver on primary interface n n d. Include IDE/ATA-2 DISK support y y (This must be built into the kernel or else you will get a kernel panic) e. Include IDE/ATAPI CDROM support m y f. Include IDE/ATAPI TAPE support n n g. Include IDE/ATAPI FLOPPY support n n h. SCSI emulation support n n i. CMD640 chipset bugfix/support y y j. CMD640 enhanced support n n k. RZ1000 chipset bugfix/support y y l. Generic PCI IDE chipset support y y m. Generic PCI bus-master DMA support y y n. Boot off-board chipsets first support n n o. Use DMA by default when available y y p. Other IDE chipset support n n (Note: most of these also require special kernel boot parameters) q. Generic 4 drives/port support y y r. ALI M14xx support N/A N/A s. DTC-2278 support N/A N/A t. Holtek HT6560B support N/A N/A u. QDI QD6580 support N/A N/A v. UMC-8672 support N/A N/A --- Additional Block Devices w. Loopback device support n n x. Network block device support n n y. Multiple devices driver support n n z. Linear (append) mode N/A N/A a1. RAID-0 (striping) mode N/A N/A a2. RAID-1 (mirroring) mode N/A N/A a3. RAID-4/RAID-5 mode N/A N/A a4. Boot support (linear, striped) N/A N/A a5. RAM disk support n n a6. Initial RAM disk (initrd) support N/A N/A a7. XT hard disk support n n a8. Parallel port IDE device support n n --- Parallel IDE high-level drivers a9. Parallel port IDE disks N/A N/A a10. Parallel port ATAPI CD-ROMs N/A N/A a11. Parallel port ATAPI disks N/A N/A a12. Parallel port ATAPI tapes N/A N/A a13. Parallel port generic ATAPI devices N/A N/A --- Parallel IDE protocol modules a14. ATEN EH-100 protocol N/A N/A a15. MicroSolutions backpack protocol N/A N/A a16. DataStor Commuter protocol N/A N/A a17. DataStor EP-2000 protocol N/A N/A a18. FIT TD-2000 protocol N/A N/A a19. FIT TD-3000 protocol N/A N/A a20. Shuttle EPAT/EPEZ protocol N/A N/A a21. Shuttle EPIA protocol N/A N/A a22. Freecom IQ ASIC-2 protocol N/A N/A a23. FreeCom power protocol N/A N/A a24. KingByte KBIC-951A/971A protocols N/A N/A a25. KT PHd protocol N/A N/A a26. OnSpec 90c20 protocol N/A N/A a27 OnSpec 90c26 protocol N/A N/A 7. Networking options a. Packet socket y y b. Kernel/User netlink socket n n c. Routing messages N/A N/A d. Netlink device emulation N/A N/A e. Network firewalls n n f. Socket Filtering n n g. Unix domain sockets y y h. TCP/IP networking y y i. IP: multicasting n n j. IP: advanced router n n k. IP: kernel level autoconfiguration n n l. IP: firewalling N/A N/A m. IP: firewall packet netlink device N/A N/A n. IP: always defragment (required for masquerading) N/A N/A o. IP: transparent proxy support N/A N/A p. IP: masquerading N/A N/A --- Protocol-specific masquerading support will be built as modules. q. IP: ICMP masquerading N/A N/A --- Protocol-specific masquerading support will be built as modules. r. IP: optimize as router not host n n s. IP: tunneling n n t. IP: GRE tunnels over IP n n u. IP: broadcast GRE over IP N/A N/A v. IP: multicast routing N/A N/A w. IP: aliasing support n n x. IP: TCP syncookie support (not enabled per default) n n --- (it is safe to leave these untouched) y. IP: Reverse ARP n n z. IP: Allow large windows y y (not recommended if <16Mb of memory) a1. The IPv6 protocol (EXP.) n n a2. The IPX protocol n n a3. Appletalk DDP n n a4. CCITT X.25 Packet Layer (EXP.) n n a5. LAPB Data Link Driver (EXP.) n n a6. Bridging (EXP.) n n a7. 802.2 LLC (EXP.) n n a8. Acorn Econet/AUN protocols (EXP.) n n a9. WAN router n n a10. Fast switching (read help!) n n a11. Forwarding between high speed interfaces n n a12. CPU is too slow to handle full bandwidth n n a13. QoS and/or fair queueing n n 8. Telephony support a. Linux telephony support n n 9. SCSI support a. SCSI support (no makes rest of choices moot) n y 10. I20 device support a. I20 device support (no makes rest of choices moot) n n 11. Network device support a. Network device support y y b. ARCnet devices ARCnet services n n c. Dummy net driver support m m d. < > Bonding driver support (NEW) n n e. < > EQL (serial line load balancing) support n n f. < > General Instruments Surfboard 1000 n n g. Ethernet (10 or 100Mbit) y y g1. 3COM cards n n g2. AMD LANCE and PCnet (AT1500 and NE2100) support n n g3. Western Digital/SMC cards n n g4. Racal-Interlan (Micom) NI cards n n g5. RealTek 8129/8139 (not 8019/8029!) support (NEW) m n (I decided this was the necessary driver based on the fact that the driver disk that came with the card included rtl8139.c as their support for Linux, which implies that this is the driver they think would work best. It should be noted that it is considered an experimental driver.) g6. Other ISA cards n n g7. EISA, VLB, PCI and on board controllers y y g8. AMD PCnet32 (VLB and PCI) support n n g9. Ansel Communications EISA 3200 support(EXP.)(NEW) n n g10. Apricot Xen-II on board Ethernet n n g11. CS89x0 support n n g12. DM9102 PCI Fast Ethernet Adapter support (EXP.) n n g13. Generic DECchip & DIGITAL EtherWORKS PCI/EISA n n g14. DECchip Tulip (dc21x4x) PCI support n n g15. Old DECchip Tulip (dc21x4x) PCI support n n g16. Digi Intl. RightSwitch SE-X support n n g17. Pocket and portable adaptors n n g18. EtherExpressPro/100 support m y g19. Mylex EISA LNE390A/B support (EXP.)(NEW) n n Novell/Eagle/Microdyne NE3210 EISA support (EXP.)(NEW) n n g20. PCI NE2000 support m y g21. TI ThunderLAN support n n g22. VIA Rhine support n n g23. SiS 900/7016 PCI Fast Ethernet Adapter support n n g24. Racal-Interlan EISA ES3210 support (EXP.)(NEW) n n g25. SMC EtherPower II (EXP.)(NEW) n n g26. Zenith Z-Note support (EXP.) (NEW) n n g27. Pocket and portable adaptors n n h. Ethernet (1000 Mbit) n n i. FDDI driver support n n j. PLIP (parallel port) support (NEW) n n k. PPP (point-to-point) support m n l. SLIP (serial line) support m n l1. CSLIP compressed headers (NEW) y n l2. Keepalive and linefill (NEW) n n l3. Six bit SLIP encapsulation (NEW) n n m. Wireless LAN (non-hamradio) n n n. Token ring devices n n o. Fibre Channel driver support n n p. Wan interfaces n n q. SBNI12-xx support n n 12. Amateur Radio support a. Amateur Radio support (no makes rest of choices moot) n n a. Support non-SCSI/IDE/ATAPI CDROM drives 13. IrDA (infrared) support a. IrDA subsystem support n n 14. ISDN subsystem a. ISDN support (no makes rest of choices moot) n n 15. Old CD-ROM drivers (not SCSI, not IDE) n n a. Support non-SCSI/IDE/ATAPI CDROM drives (no makes rest of choices moot) 16. Character devices a. Virtual terminal y y b. Support for console on virtual terminal y y c. Standard/generic (dumb) serial support y y d. Support for console on serial port n n e. Extended dumb serial driver options n n f. Non-standard serial port support n n g. Unix98 PTY support y y h. (256) Maximum number of Unix98 PTYs in use (0-2048) i. Parallel printer support m n j. Support IEEE1284 status readback (NEW) n n k. Mouse Support (not serial mice) y y Mice k1. ATIXL busmouse support n n k2. Logitech busmouse support n n k3. Microsoft busmouse support n n k4. PS/2 mouse (aka "auxiliary device") support y y k5. C&T 82C710 mouse port support (as on TI Travelmate) n y k6. PC110 digitizer pad support n n l. Joysticks support n n m. QIC-02 tape support n n n. Watchdog Timer Support n n o. /dev/nvram support n n p. Enhanced Real Time Clock Support n n q. Video For Linux n n r. Double Talk PC internal speech card support n n s. Ftape (QIC-80/Travan) support n n 18. Filesystems a. Quota support y n b. Kernel automounter support y y c. Amiga FFS filesystem support n n d. Apple Macintosh filesystem support (experimental) m n e. DOS FAT fs support m n f. MSDOS fs support m n g. UMSDOS: Unix-like filesystem on top of m n standard MSDOS filesyste h. VFAT (Windows-95) fs support m n i. ISO 9660 CDROM filesystem support m y j. Microsoft Joliet CDROM extensions n n k. Minix fs support n n l. NTFS filesystem support (read only) n n m. OS/2 HPFS filesystem support (read only) m n n. /proc filesystem support y y o. /dev/pts filesystem for Unix98 PTYs y y p. ROM filesystem support n n q. Second extended fs support y y r. System V and Coherent filesystem support n n s. UFS filesystem support n n t. UFS filesystem write support (experimental) n n u. SGI EFS filesystem support (read only) (exp.) n n v. Network File Systems (defaults) w. Partition Types (defaults which were all no) x. Native Language Support (defaults which were all no) 22. Console drivers (defaults) 23. Sound (Look at the information above under\fB Sound\fC. It has very important data on how to configure the card. It seems the options under i, j, and l are not necessarily that important. I've tried a few different values and there wasn't any noticeable difference.) a. Sound card support m m b. Support for C-Media PCI audio chips (Exp.)(NEW) n n c. Ensoniq AudioPCI (ES1370) n n d. Creative Ensoniq AudioPCI 97 (ES1371) n n e. ESS Maestro (NEW) n n f. ESS Solo1 (Experimental) (NEW) n n g. Intel ICH (810, 820, 440MX...) (NEW) n n h. S3 SonicVibes n n i. Trident 4DWave DX/NX or SiS 7018 PCI n n Audio Core or ALi 5451 j. Support for Turtle Beach MultiSound Classic, Tahiti, n n Monterey k. Support for Turtle Beach MultiSound Pinnacle, Fiji n n l. OSS sound modules m n m. ProAudioSpectrum 16 support n n n. 100% Sound Blaster compatibles n n (SB16/32/64, ESS, Jazz16) support o. Gravis Ultrasound support n n p. MPU-401 support (NOT for SB16) m n q. PSS (AD1848, ADSP-2115, ESC614) support n n r. Microsoft Sound System support n n s. Ensoniq SoundScape support n n t. MediaTrix AudioTrix Pro support n n u. VIA 82C686 Audio Codec (NEW) n n v. Support for OPTi MAD16 and/or Mozart based cards (NEW) n n w. Full support for Turtle Beach WaveFront n n x. (Tropez Plus, Tropez, Maui) synth/soundcards (NEW) y. Support for Crystal CS4232 based (PnP) cards n n z. Support for Yamaha OPL3-SA2, SA3, m n and SAx based PnP cards a1. Limited support for Turtle Beach Wave Front n n a2. (Maui, Tropez) synthesizers (NEW a3. Support for Aztech Sound Galaxy (non-PnP) cards n n a4. Support for AD1816(A) based cards (EXP.) (NEW) n n a5. Yamaha OPL3-SA1 audio controller (NEW) m n a6. SoftOSS software wave table engine n n a7. FM synthesizer (YM3812/OPL-3) support m n a8. Loopback MIDI device support n n a9. 6850 UART support n n a10. NM256AV/NM256ZX audio support (NEW) n n a11. Yamaha PCI legacy mode support (NEW) n n a12. a1. Additional low level sound drivers n n (no makes rest of choices moot) 25. Kernel hacking a. Magic SysRq key n n .LP .IP " 6.5.0" 11 .ll 6i Save and exit the config program. I recommend that you save the file /usr/src/linux/.config just in case the kernel you built works well. You can use this file again if you ever have to rebuild the kernel. For instance, after doing\fI make mrproper\fR, I use an old configuration file. Then I can: \fC .nf cp /root/root_user/recover/.config /usr/src/linux/.config .fi \fR Even after copying, I still run: \fC .nf make xconfig .fi \fR When you exit\fI xconfig\fR, choose "Save and Exit"(also, if\fI make menuconfig\fR was used, "Save and Exit" under this configuration method as well). You will very likely have problems with "make zImage" if you don't, such as getting "Error 1" messages along with statements claiming certain files and directories could not be found. Note also that .config changes slightly based on whether you choose\fI xconfig\fR or\fI menuconfig\fR and that there are also other files generated depending on the method of configuration. Another interesting point is that the same configuration file saved under the two different methods will produce slightly different kernels. For instance, the two config files below had the same configuration, but were built using different methods: .config7(from\fI menuconfig\fR) -> vmlinuz = 328914 K x.config7(from\fI xconfig\fR) -> vmlinuz = 328913 K .LP .IP " 6.6.0" 11 .ll 6i Now type: \fC .nf cd /usr/src/linux make dep make clean make install \fR(prior to Slackware-7.1, I used\fC make zImage\fR but now this causes the error\fC Fatal: Kernel /vmlinuz is too big\fR when I run\fI /sbin/lilo\fR. Doing a\fC make install\fR appears to be the same as\fC make bzImage\fR, with the additional step that it copies vmlinuz to /vmlinuz and runs\fI /sbin/lilo\fR as well.)\fC make modules make modules_install .fi \fR After this is done, do a: \fC .nf ls -l /usr/src/linux/arch/i386/boot/bzImage ls -l /vmlinuz .fi \fR These two steps are just to get an idea of how big the new kernel is relative to the old kernel. .LP .IP " 6.7.0" 11 .ll 6i Copy the new kernel image to the / directory: \fC .nf cp /usr/src/linux/arch/i386/boot/zImage /vmlinuz \fR .fi if you did a\fC make zImage\fR or a\fC make bzImage\fR. You will also need to run\fI lilo\fR again: \fC .nf cd / /sbin/lilo \fR .fi Make sure you do the above step. Your system will not boot Linux without it. You may wish to edit /etc/lilo.conf to specify an entry for your old kernel image (after copying the old image to something like vmlinux.old) in case the new one does not work. See the LILO docs in /usr/doc/lilo and also the /usr/doc/Linux-HOWTOs/Kernel-HOWTO for more information. To add the option of booting from an old kernel image, add to /etc/lilo.conf the lines: .LP \fC .nf # Linux backup kernel config begins image = /vmlinuz.old root = /dev/hda2 label = linux-backup read-only # Non-UMSDOS filesystems should be mounted read-only for checking # Linux backup kernel config ends \fR .fi .IP " 6.8.0" 11 .ll 6i If you have to install the modules manually even though you are using kerneld, this can be done with: \fC .nf /sbin/modprobe fat.o /sbin/modprobe isofs.o /sbin/modprobe vfat.o /sbin/modprobe msdos.o /sbin/lsmod\fR (this will list the modules seen by kerneld)\fC ps -ax\fR (this will tell you if kerneld is running)\fR \fR .fi .IP " 6.8.0" 11 .ll 6i It is advisable that you do a: \fC .nf cp /boot/System.map System.old cp /usr/src/linux/System.map /boot/ .fi \fR .IP " 6.10.0" 11 .ll 6i If you have already installed\fI loadlin\fR, make sure you copy a boot image, vmlinuz, to the DOS directory which has loadlin.exe(For more on\fI loadlin\fR, see\fB Archive 3\fR below.). In my case, it is the directory /dosc/loadlin/: \fC .nf cp /vmlinuz /dosc/loadlin/zimage \fR .fi .IP " 6.11.0" 11 .ll 6i This is given in the file /usr/doc/Linux-HOWTOs/Kerneld: .IP "" 20 .ll 6i I recommend that you add some lines to your startup-scripts to do some necessary setup whenever you boot Linux. Add the following lines to your /etc/rc.d/rc.S file (if you are running Slackware), or to /etc/rc.d/rc.sysinit (if you are running SysVinit, i.e. Debian, Redhat, Caldera): .LP .IP "" 11 .ll 6i \fC .nf # Start kerneld - this should happen very early in the # boot process, certainly BEFORE you run fsck on filesystems # that might need to have disk drivers autoloaded if [ -x /sbin/kerneld ] then /sbin/kerneld fi # Your standard fsck commands go here # And you mount command to mount the root fs read-write # Update kernel-module dependencies file # Your root-fs MUST be mounted read-write by now if [ -x /sbin/depmod ] then /sbin/depmod -a fi .fi \fR .LP .IP "" 11 .ll 6i I had to add the second part in the file /etc/rc.d/rc.S as well as uncomment out the first part. As stated in rc.S: .IP "" 20 .ll 6i .nf # NOTE: This is commented out by default, since running kerneld has # caused some experimental kernels to hang during boot. .IP "" 11 .ll 6i Also, the\fI Welcome to Linux (Slackware 4.0)!\fR email to root from Patrick J. Volkerding says that: .IP "" 20 .ll 6i You'll also need to uncomment the line in /etc/rc.d/rc.S that starts the rc.serial script. .IP "" 11 .ll 6i So uncomment out the line: \fC .nf . /etc/rc.d/rc.serial .fi \fR in rc.S. .IP " 6.12.0" 11 .ll 6i You can check the kernel you are currently running by: \fC .nf uname -a .fi \fR or \fC .nf cat /proc/version .fi \fR .IP " 6.13.0" 11 .ll 6i In the /usr/src/linux-2.0.30/ directory, there will now be a binary called vmlinux. This is used for debugging. In the README in /usr/src/linux-2.0.30/, it says: .IP "" 20 .ll 6i To extract the namelist and match it against the EIP from a kernel crash, do: \fC .nf nm vmlinux | sort | less \fR .fi .IP "" 6 .ll 6i Again, remember to save the file /usr/src/linux-2.0.30/.config in case you want to build this kernel again. .LP .IP "7.0.0" 6 .ll 6i \fBBoot Problems .fi \fR .IP "\fC Kernel Panic" 35 .ll 6i This is sometimes due to compiling the second extended file system (which is the standard linux filesystem) as a module rather than including it in the kernel. Remember, you cannot make the file system of the root partition a module. .IP "\fC Run out of input data" 35 .ll 6i This is probably due to not running /sbin/lilo .IP "\fC system halted" 30\fR .ll 6i .LP .IP "8.0.0" 6 .ll 6i \fBMounting Hardware \fR .IP " 8.1.0" 11 .ll 6i To get the desired devices to be recognized or mounted with the correct permissions during boot-up, set up the /etc/fstab file as follows: .LP .nf \fC # /etc/fstab /dev/fd0 /fd0ext auto user,noauto,rw 0 0 /dev/fd0 /fd0dos auto user,noauto,rw 0 0 /dev/hda1 /dosc vfat defaults 1 0 /dev/hda5 swap swap defaults 0 0 /dev/hda2 / reiserfs defaults 1 1 /dev/hda4 /usr reiserfs defaults 1 2 /dev/hda6 /tmp reiserfs defaults 1 2 /dev/hda7 /var reiserfs defaults 1 2 /dev/hdb1 /home reiserfs defaults 1 2 /dev/cdrom /cdrom iso9660 user,noauto,ro 0 0 /dev/cdrom2 /cdrom2 iso9660 user,noauto,ro 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 proc /proc proc defaults 0 0 \fR .IP "" 11 .ll 6i Alternatively, I can also set it to look like: .LP .nf \fC # /etc/fstab /dev/fd0 /fd0ext auto user,noauto,rw 0 0 /dev/fd0 /fd0dos auto user,noauto,rw 0 0 /dev/hda1 /dosc vfat noauto,uid=1000,gid=100,umask=000 0 0 /dev/hda5 swap swap defaults 0 0 /dev/hda2 / reiserfs defaults 1 1 /dev/hda4 /usr reiserfs defaults 1 2 /dev/hda6 /tmp reiserfs defaults 1 2 /dev/hda7 /var reiserfs defaults 1 2 /dev/hdb1 /home reiserfs defaults 1 2 /dev/cdrom /cdrom iso9660 user,noauto,ro 0 0 /dev/cdrom2 /cdrom2 iso9660 user,noauto,ro 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 proc /proc proc defaults 0 0 .fi \fR .IP "" 11 .ll 6i The lines pertaining to /fd0dos, /fd0ext, /cdrom, /cdrom2, and /dosc are all modified or added so that they have user read and write permissions. The difference between the two versions is that the first retains the root ownership for the files in /dosc while the second gives ownership to user 1000(sanle) and group 100(users). Also, because I don't always use /dosc, it will not be automatically mounted in the second /etc/fstab. I will mount it manually like the /cdrom and the floppy disk. .IP " 8.2.0" 11 .ll 6i If you still have problems with permissions for /fd0ext, you can try: .nf \fC chown sanle /fd0ext chgrp users /fd0ext .fi \fR .IP " 8.3.0" 11 .ll 6i You must reboot the system before fstab will take effect. Otherwise, you will have to mount the hardware without fstab(see below). Because the /dev/hda1/, /dev/cdrom/, and /dev/fd0/ are noauto(not automatically mounted), I must mount(or unmount) them using the following commands. Because of how I've set up fstab though, the mounting process is simpler(i.e., /dev/hdd is already established as being mounted on /cdrom.). .IP "\fC mount /dosc" 45 .ll 6i mounts /dosc .IP "\fC umount /dosc" 45 .ll 6i unmounts /dosc .IP "\fC mount /cdrom" 45 .ll 6i mounts the CDrom .IP "\fC umount /cdrom" 45 .ll 6i unmounts the CDrom .IP "\fC mount /fd0dos" 45 .ll 6i mounts the 3 1/2 '' floppy for the dos filesystem .IP "\fC umount /fd0dos" 45 .ll 6i unmounts the 3 1/2 '' floppy for the dos filesystem .IP "\fC mount /fd0ext" 45 .ll 6i mounts the 3 1/2 '' floppy for the linux filesystem .IP "\fC umount /fd0ext" 45 .ll 6i unmounts the 3 1/2 '' floppy for the linux filesystem .LP .IP "" 11 .ll 6i Without fstab, the traditional way to mount hardware as root is: .IP "\fC mount /dev/ha1 /dosc" 45 .ll 6i mounts /dosc .IP "\fC uumount /dosc" 45 .ll 6i unmounts /dosc .IP "\fC mount /dev/hdd /cdrom" 45 .ll 6i mounts the CDrom .IP "\fC umount /cdrom" 45 .ll 6i unmounts the CDrom .IP "\fC mount /dev/fd0 /fd0dos" 45 .ll 6i mounts the 3 1/2 '' floppy for the dos filesystem .IP "\fC umount /dev/fd0 /fd0dos" 45 .ll 6i unmounts the 3 1/2 '' floppy for the dos filesystem .IP "\fC mount /dev/fd0 /fd0ext" 45 .ll 6i mounts the 3 1/2 '' floppy for the linux filesystem .IP "\fC umount /dev/fd0 /fd0ext" 45 .ll 6i unmounts the 3 1/2 '' floppy for the linux filesystem .LP .IP "" 11 .ll 6i If you want to specify the filesystem type, use: .LP .IP "\fC mount -t ext2 /dev/fd0 /fd0ext " 55 .ll 6i mounts the 3 1/2 '' floppy for the linux filesystem .IP "\fC mount -t msdos /dev/fd0 /fd0dos " 55 .ll 6i unmounts the 3 1/2 '' floppy for the DOS filesystem .IP "" 11 .ll 6i You may want to specify some options with /dosc such as: .LP .IP "\fC mount -t vfat /dev/hda1 /dosc -o uid=1000,gid=100,umask=000" 55 .LP .IP "" 11 .ll 6i which mounts with the same user permissions as the second fstab example. .IP " 8.4.0" 11 .ll 6i As root, you have to make the directories /fd0dos/ and /fd0ext/: .nf \fC cd / mkdir fd0dos mkdir fd0ext .fi \fR It is tempting not to have the separate directories /fd0dos/ and /fd0ext/ and to simply mount both filesystem types on something like /mnt. This is not feasible though, and will give the error: .nf \fC mount: wrong fs type, bad option, bad superblock on /dev/fd0, or too many mounted file systems .fi \fR The source of trouble is\fI too many mounted file systems\fR. .LP .IP "9.0.0" 6 .ll 6i \fBCreating Filesystems and Formatting \fR .LP .IP " 9.1.0" 11 .ll 6i \fBFormatting 3.25'' Disk \fR This information is taken from the file /usr/doc/Linux-HOWTOs/DOS-to-Linux-HOWTO under\fI 4.1 Managing Devices\fR. .LP .IP " 9.1.1\fR" 15 .ll 6i To format a disk in the 3.25'' drive for the Linux ext2 file format, as root, use: .nf \fC mkfs -t ext2 -c /dev/fd0 .fi \fR This is a better filesystem since it allows you to retain the UNIX filenames. .IP " 9.1.2" 15 .ll 6i For dos, use: .nf \fC mount /dev/fd0 /fd0dos umount /fd0dos mformat a: .fi \fR .IP " 9.2.0" 11 .ll 6i \fBCreating ext2 Filesystem on Harddrive \fR This information is given in /usr/doc/Linux-HOWTOs/DOS-to-Linux-HOWTO under\fI 4.1 Managing Devices\fR and\fI Unleashed: Slackware Linux\fR on page page 48. .LP .IP " 9.2.1" 15 .ll 6i If you have just run\fI fdisk\fR to create partitions, it is recommended that you reboot the system to remove inconsistencies between the tables in memory and those on disk. This probably isn't necessary if you are starting with a completely new harddrive, only when you are redoing an old one. Then you may create the ext2 filesystem for Linux on the harddrive using: \fC mkfs -v -t ext2 -c /dev/hda2 \fR or \fC mke2fs -v -c -b 1024 -i 4096 /dev/hdb3 \fR (Replace "a2" with the appropriate partition.) .IP " 9.2.2" 15 .ll 6i Now you have to tell fstab where this new filesystem should be mounted. You may want to add the following line in /etc/fstab: .nf \fC /dev/hda2 /home2 ext2 defaults 1 1 .fi \fR indicating that /dev/hda2 should be mounted on /home2. I had originally set /etc/fstab to automatically mount /home2( and /home3/), but since they were used for storage, I decided only to mount them when I was backing up data. This is to prevent a GNU/Linux crash(Yes, it sometimes happens) from corrupting all my data. .IP " 9.2.3" 15 .ll 6i You also have to create this directory: \fC mkdir /home2 \fR .IP " 9.2.4" 15 .ll 6i Now you can either restart the system and allow fstab to mount /dev/hda2 or you can do it yourself as superuser with: \fC mount /dev/hda2 /home2 \fR .IP " 9.2.5" 15 .ll 6i If you do a\fI df\fR, you should see this new filesystem added to the others. My current system looks like( after 6 1/2 years): .LP .nf \fC Filesystem 1K-blocks Used Available Use% Mounted on /dev/hda2 1004024 578516 425508 58% / /dev/hda4 3212896 2100840 1112056 66% /usr /dev/hdb3 34104944 32852 34072092 1% /tmp /dev/hda7 216832 62128 154704 29% /var /dev/hdb1 34104912 1944396 32160516 6% /home /dev/hdb2 34104944 1248136 32856808 4% /home2 /dev/hda6 160604 33348 127256 21% /mnt \fR .LP .IP "10.0.0" 6 .ll 6i \fBConfiguring X Windows \fR .IP " 10.1.0" 11 .ll 6i For Slackware-10.1,\fI X Windows\fR is configured automatically and tools such as\fI XF86Setup\fR or\fI xf86config\fR no longer exist. This is probably due to the fact that the X server no longer comes from XFree86 but X.org. The file /etc/XF86Config is now replaced by the file /etc/X11/xorg.conf. Because X is running well, I am disinclined to alter the file very much except for commenting in the line: .nf \fC VideoRam 8192 .fi \fR where the Video Ram value is changed from 4096 to 8192 K. Also commented in are the lines: .nf \fC Option "AutoRepeat" "500 5" .fi \fR and .nf \fC Option "XkbModel" "microsoft" .fi \fR To get the screen to blank after 10 minutes, as well as other screen saving actions, I have commented in the lines: .nf \fC Option "blank time" "10" # 10 minutes .fi \fR and .nf \fC Option "standby time" "20" Option "suspend time" "30" Option "off time" "60" .fi \fR I have saved this file on the disk\fI LINUX FILES TO SAVE II\fR. If I have to replace it, I can do: \fC cp /fd0ext/X/xorg.conf /etc/X11/xorg.conf \fR .LP .IP " 10.2.0" 11 .ll 6i In choosing the window manger, go to the directory /usr/lib/X11/xinit/ and\fI cp xinitrc.(manager type)\fR to xinitrc. Read the README in this directory for more details. For example: \fC cd /usr/lib/X11/xinit/ rm xinitrc ln -s xinitrc.fvwm2 xinitrc \fR will make your window manager\fI fvwm2\fR. Since I want the configuration of\fI fvwm2\fR to be system wide, I went to the directory: \fC /usr/lib/X11/fvwm2 \fR and edited the file system.fvwm2rc. Unfortunately, Slackware got rid of the option of using the fvwm95, so I modified system.fvwm2rc so that it works like fvwm95. \fR .IP " 10.2.1" 15 .ll 6i I have saved a system.fvwm2rc file on the disk\fI LINUX FILES TO SAVE II\fR, in the X directory. Also in this directory are the files .Xdefaults and .Xmodmap. Make sure to add the lines: .nf \fC xterm*background: black xterm*foreground: white xterm*scrollBar: true xterm*font: fixed color_xterm*background: black color_xterm*foreground: white color_xterm*scrollBar: true color_xterm*font: fixed .fi \fR to the .Xdefaults file if you want to change the background color of the xterms. .fi \fR .IP " 10.2.2" 15 .ll 6i There are many differences between a system.fvwm2rc and .fvwm95rc file that you cannot simply copy .fvwm95rc to system.fvwm2rc. Trying to get fvwm2 to emulate fvwm95 was very difficult so I have decided to list the results of doing: .nf \fC diff system.fvwm2rc system.fvwm2rc.save .fi \fR where system.fvwm2rc.save is a copy of the file system.fvwm2rc before I modified it. Here are the results: .LP .nf \fC .ps 8 2c2,3 < # Default system.fvwm95rc for Slackware Linux --- > # Default system.fvwm2rc for Slackware Linux, adapted from the version > # for fvwm95 (i.e. beware of non-functional commented-out options) 12d12 < #MenuFont -adobe-helvetica-medium-r-*-*-*-120-*-*-*-*-*-* 26c26 < DefaultColors Black #c3c3c3 #c3c3c3 grey51 --- > #DefaultColors Black #c3c3c3 #c3c3c3 grey51 50c50,51 < #Style "*" ClickToFocus --- > # Let's comment this out and be more UNIX-like :) > # Style "*" ClickToFocus 53d53 < Style "*" MouseFocus 83,92d82 < # < # Module path and paths to the icons < # ModulePath is a colon-separated list, just like regular unix PATH < # < #ModulePath /usr/X11R6/lib/X11/fvwm95/ < #PixmapPath /usr/include/X11/pixmaps/:/usr/X11R6/icons/ < #IconPath /usr/include/X11/bitmaps/:/usr/local/icons/ < < #========================================================================# < 145c135 < #Style "xcalc" Icon Rcalc.xpm --- > #Style "xcalc" Icon rcalc.xpm 166,175c156,164 < AddToFunc "InitFunction" "I" Exec xsetroot -solid cyan4 & < #+ "I" Module FvwmBanner < + "I" Module FvwmButtons < + "I" Module FvwmTaskBar < #+ "I" Module FvwmPager 0 3 < < AddToFunc "RestartFunction" "I" Module FvwmButtons < + "I" Module FvwmTaskBar < #+ "I" Module FvwmPager 0 3 < --- > AddToFunc "InitFunction" > #+ "I" Module FvwmButtons > + "I" Module FvwmButtons MiniButtons > + "I" Module FvwmPager 0 0 > > AddToFunc "RestartFunction" > #+ "I" Module FvwmButtons > + "I" Module FvwmButtons MiniButtons > + "I" Module FvwmPager 0 0 227d215 < #AddToMenu "StartMenu" 243c231 < + "Exit Fvwm95 %mini-stop.xpm%" Popup Quit-Verify --- > + "Exit Fvwm2 %mini-stop.xpm%" Popup Quit-Verify 450,451c440 < #+ "Workman%mini-cdlabel.xpm%" Exec workman & < + "KSCD%mini-cdlabel.xpm%" Exec kscd & --- > + "Workman%mini-cdlabel.xpm%" Exec workman & 494,495c483 < + "TkDesk%mini-desktop.xpm%" Exec tkdesk & < + "Xfilemanager%mini-filemgr.xpm%" Exec xfilemanager & --- > #+ "TkDesk%mini-desktop.xpm%" Exec tkdesk & 504c492 < + "Quit fvwm95%mini-exclam.xpm%" Quit --- > + "Quit fvwm2%mini-exclam.xpm%" Quit 506c494 < + "Restart Fvwm95%mini-turn.xpm%" Restart fvwm95 --- > + "Restart Fvwm2%mini-turn.xpm%" Restart fvwm2 508c496 < + "Start fvwm2%mini-windows.xpm%" Restart fvwm2 --- > + "Start fvwm95%mini-exp.xpm%" Restart fvwm95 513d500 < + "Start kde%mini-cat.xpm%" Restart kde 518,520c505,507 < DestroyMenu "Module-Popup" < AddToMenu "Module-Popup" < #+ "Audio" Module FvwmAudio --- > #DestroyMenu "Module-Popup" > #AddToMenu "Module-Popup" > ##+ "Audio" Module FvwmAudio 522,532c509,541 < + "Button Bar%mini-ball.xpm%" Module FvwmButtons < + "Button Bar (Mini)%mini-ball.xpm%" Module FvwmButtons MiniButtons < #+ "Clean-Up%mini-pencil.xpm%" Module FvwmClean < #+ "Configure%mini-hammer.xpm%" Module FvwmConfig < + "Debug%mini-bug2.xpm%" Module FvwmDebug < + "Task bar%mini-exp.xpm%" Module FvwmTaskBar < + "Identify%mini-question.xpm%" Module FvwmIdent < + "Save Desktop%mini-desktop.xpm%" Module FvwmSaveDesk < + "Pager%mini-pager.xpm%" Module FvwmPager 0 3 < + "Window List%mini-windows.xpm%" Module FvwmWinList < + "Talk%mini-exclam.xpm%" Module FvwmTalk --- > #+ "Button Bar%mini-ball.xpm%" Module FvwmButtons > #+ "Button Bar (Mini)%mini-ball.xpm%" Module FvwmButtons MiniButtons > ##+ "Clean-Up%mini-pencil.xpm%" Module FvwmClean > ##+ "Configure%mini-hammer.xpm%" Module FvwmConfig > #+ "Debug%mini-bug2.xpm%" Module FvwmDebug > ##+ "Task bar%mini-exp.xpm%" Module FvwmTaskBar > #+ "Identify%mini-question.xpm%" Module FvwmIdent > #+ "Save Desktop%mini-desktop.xpm%" Module FvwmSaveDesk > #+ "Pager%mini-pager.xpm%" Module FvwmPager 0 0 > #+ "Window List%mini-windows.xpm%" Module FvwmWinList > #+ "Talk%mini-exclam.xpm%" Module FvwmTalk > > AddToMenu Module-Popup "FvwmModules" Title > + "Identify" Module FvwmIdent > + "Talk" Module FvwmTalk > + "" Nop > + "Button-Bar" Module FvwmButtons > + "Pager" Module FvwmPager 0 0 > + "Pager (2 desks)" Module FvwmPager 0 1 > + "WinList" Module FvwmWinList > + "" Nop > + "Banner" Module FvwmBanner > + "ScrollBar" Module FvwmScroll 50 50 > + "Background" Module FvwmBacker > + "AutoRaise" Module FvwmAuto 200 Raise Nop > + "Stop AutoRaise" KillModule FvwmAuto > + "" Nop > + "IconBox" Module FvwmIconBox > + "IconMan" Module FvwmIconMan > + "" Nop > + "Form - Rlogin" Module FvwmForm Rlogin > + "Form - MyFvwmTalk" Module FvwmForm MyFvwmTalk > + "Form - QuitVerify" Module FvwmForm QuitVerify 538d546 < #AddToMenu "Utilities" 539a548,549 > + "" Nop > + "Xterm%mini-term.xpm%" Exec xterm -sb -sl 500 -j -ls -fn 7x14 -fb 7x14bold & 558c568 < + "Exit Fvwm95%mini-stop.xpm%" Popup Quit-Verify --- > + "Exit Fvwm2%mini-stop.xpm%" Popup Quit-Verify 563,564c573,574 < DestroyMenu "Window" < AddToMenu "Window" "Window Ops" Title --- > DestroyMenu "Window Ops" > AddToMenu "Window Ops" Title 628d637 < # Any button in the third (rightmost) title-bar button closes 632,635c641,643 < Mouse 0 1 A Function "window_ops_func" < Mouse 1 2 A Delete < Mouse 0 4 A Maximize 100 100 < Mouse 0 6 A Iconify --- > Mouse 0 1 A Function "window_ops_func" > Mouse 0 2 A Maximize 100 100 > Mouse 0 4 A Iconify 637d644 < # 728c735 < *FvwmPagerGeometry -1-1 --- > *FvwmPagerGeometry -3-27 737c744 < *FvwmButtonsGeometry -5-34 --- > *FvwmButtonsGeometry -5-5 742d748 < *FvwmButtons Saver mini-display.xpm Exec "Screensaver" xlock -nolock -nice 0 -mode star & 745,749c751,754 < #*FvwmButtons (2x1) load NULL Swallow "xload" Exec nice -16 xload -nolabel -bg grey60 -update 5 -geometry -1500-1500 < #*FvwmButtons Mozilla netscape.xpm Exec "Mozilla" mozilla & < *FvwmButtons Mozilla mozilla.xpm Exec "Mozilla" mozilla & < *FvwmButtons xterm mini-term.xpm Exec "Color xterm" xterm -ls -sb -fn 7x14 -title "Color xterm" & < *FvwmButtons xfm Xfm.xpm Exec "Xfm" xfm -title "File Manager" & --- > *FvwmButtons (2x1) load NULL Swallow "xload" Exec nice -16 xload -nolabel -bg grey60 -update 5 -geometry -1500-1500 > *FvwmButtons Netscape nscape.xpm Exec "Netscape" netscape & > *FvwmButtons xterm rterm.xpm Exec "xterm" xterm -ls -sb -fn 7x14 & > *FvwmButtons xfm Xfm.xpm Exec "Xfm" xfm & 753,755c758,760 < #*FvwmButtons ghostview gv.xpm Exec "ghostview" ghostview & < #*FvwmButtons netscape netscape.xpm Exec "Netscape" netscape -geometry 920x650+90+5 < *FvwmButtons kill mini-bomb.xpm Destroy --- > #*FvwmButtons gv gv.xpm Exec "gv" gv & > #*FvwmButtons netscape nscape.xpm Exec "Netscape" netscape -geometry 920x650+90+5 > *FvwmButtons kill rbomb.xpm Destroy 766c771 < *MiniButtonsGeometry -5+5 --- > *MiniButtonsGeometry -5-5 771,772c776,777 < *MiniButtons - mini-term.xpm Exec "XTerm" xterm -ls -sb -fn 7x14 & < *MiniButtons - mini-filemgr.xpm Exec "Xfm" xfm -title "File Manager" & --- > *MiniButtons - mini-term.xpm Exec "XTerm" xterm -ls -sb -fn 7x14 & > *MiniButtons - mini-filemgr.xpm Exec "Xfm" xfm & 774c779 < #*MiniButtons - mini-gv.xpm Exec "ghostview" ghostview & --- > #*MiniButtons - mini-gv.xpm Exec "gv" gv & 803,804c808 < #*FvwmTaskBarTipsBack bisque < *FvwmTaskBarTipsBack #c3c3c3 --- > *FvwmTaskBarTipsBack bisque 815c819 < #*FvwmTaskBarStartIcon mini-penguin.xpm --- > *FvwmTaskBarStartIcon mini-penguin.xpm 817d820 < *FvwmTaskBarStartIcon tux.xpm 819c822 < #*FvwmTaskBarMailProg xterm -e mail --- > *FvwmTaskBarMailProg xterm -e mail .fi \fR .ps 10 .IP " 10.2.3" 15 .ll 6i \fBMozilla \fR The only thing to note about the above for\fB Mozilla\fR is that if you are running the fvwm2 window manager, then in the /usr/lib/X11/fvwm2/system.fvwm2rc initialization file, add this line the sticky buttons: .LP .nf \fC *FvwmButtons Mozilla mozilla.xpm Exec "Mozilla" mozilla & .fi \fR .IP "" 6 .ll 6i Which goes below the lines: .nf \fC # Define the buttons to use..... .fi \fR .IP " 10.3.0" 11 .ll 6i I got images out of 2 directories which contain small image files which I have to the buttons. The first: \fC /usr/include/X11/pixmaps \fR contains images in *.xpm format. The second: \fC /opt/kde/share/icons/crystalsvg/32x32/apps \fR has *.png images which need to be converted to *.xpm images to be usable by fvwm2. I did this with the mozilla.png and tux.png. .IP " 10.4.0" 11 .ll 6i You can check the messages you get when you begin X windows by typing in: .nf \fC startx > xerr.log 2>&1 .fi \fR .LP .IP "11.0.0" 6 .ll 6i \fBModem \fR .IP " 11.1.0" 11 .ll 6i The /usr/doc/Linux-HOWTOs/Diald-HOWTO and the /usr/doc/Linux-HOWTOs/Serial-HOWTO have a lot of good information on configuring the modem. To get the serial port to take advantage of your 56K modem, add the\fI spd_vhi\fR flag after the ${SETSERIAL} in /etc/rc.d/rc.serial: .nf \fC ${SETSERIAL} -W /dev/cua1 spd_vhi .fi \fR In addition, comment out all the lines which fall under\fI AUTOMATIC CONFIGURATION\fR and manually configure your serial ports in the\fI MANUAL CONFIGURATION\fR section. The only line I commented out was: .nf \fC ${SETSERIAL} /dev/cua0 uart 16450 port 0x3F8 irq 4 ${STD_FLAGS} ${SETSERIAL} /dev/cua1 uart 16450 port 0x2F8 irq 3 ${STD_FLAGS} .fi \fR .IP " 11.2.0" 11 .ll 6i \fBMinicom \fR The program I am using to make a dial-up connection is\fI Minicom\fR. Before you can use\fI Minicom\fR from a personal account, first, as root, do a: .nf \fC minicom -s .fi \fR This will give menus to configure\fI Minicom\fR. For\fI Serial port setup\fR, under\fI E - Baud/Par/Bits\fR, choose\fI G: 57600\fR. Then\fI Save setup as dfl\fR and \fI Exit\fR. When you are trying to\fI sz\fR a file, it is very important that the download directory is set to your own and not to root. So after running\fI Minicom\fR in your personal account, do a and then press Z. This will give you another menu with several options. Pick "o" under "Other Functions" for "cOnfigure Minicom", and after the configuration menu comes up, choose "Filenames and paths" and change the download directory to /home/sanle/. Then save this configuration. .IP " 11.3.0" 11 .ll 6i \fBConfiguring PPP \fR The information below is taken from a guide written by Mark Hays. I have saved this on the disk\fI LINUX FILES TO SAVE III\fR as\fI modem.txt\fR. .IP " 11.3.1" 15 .ll 6i The file /usr/sbin/ppp-on should have the lines(with MYLOGIN, MYPASSWORD, and MYPHONE replaced with the appropriate settings): .LP .nf \fC # These are the parameters. Change as needed. BAUDRATE=115200 # Serial port speed HOST=isp.com # Host to connect to from CCIT ACCOUNT='MYLOGIN' # The account name for logon (as in 'George Burns') PASSWORD='MYPASSWORD' # The password for this account (and 'Gracie Allen') PROMPT='}' # Part of your shell prompt MTU=1500 # Maximum Transmission Unit -- tune for max throughput MRU=1500 # Maximum Receive Unit -- tune for max throughput # # Other parameters -- shouldn't need to change MODEMDEV=/dev/modem # Modem device TELEPHONE=MYPHONE # The telephone number for the connection NETMASK=255.255.255.0 # The proper netmask if needed .fi \fR .IP " 11.3.2" 15 .ll 6i The other files /usr/sbin/ppp-off and /usr/sbin/ppp-on-dialer probably do not have to be modified. .IP " 11.3.3" 15 .ll 6i The file /etc/ppp/options may not need very much modification either. .IP " 11.3.4" 15 .ll 6i On the host machine, you need the slirp binary appropriate for the machine of your ISP. Do a search for\fI SLIRP\fR and install it on your ISP account. You also need the script "slirplogin" in the main directory of your account: .LP .nf \fC #!/bin/sh ######################################################################## # slirplogin: # # This script sets up a couple of things and runs slirp for you # mesg n >/dev/null 2>&1 stty -echo >/dev/null 2>&1 exec slirp $* echo "Cannot start Slirp" # EOF slirplogin .fi \fR .IP " 11.3.5" 15 .ll 6i Finally, put these lines in the /etc/resolv.conf file: .nf \fC search isp.com nameserver 123.123.123.123 .fi \fR and make sure the permissions on the above files are: .nf \fC -rwxr-xr-x 1 root root 1358 Jul 7 14:20 ppp-on-dialer -rwxr-xr-x 1 root root 2223 Jul 7 14:23 ppp-on -rwxr-xr-x 1 root root 1081 Jul 7 14:21 ppp-off -rwxr-xr-x 1 root root 1081 Jul 7 14:21 slirplogin -rwsr-sr-x 1 root bin 144980 Jun 18 2000 pppd drwxrwxr-x 3 root uucp 4096 Mar 6 23:49 lock/ .fi \fR To get the permissions for /usr/sbin/pppd: .nf \fC cd /usr/sbin/ chmod 6755 pppd .fi \fR and the permissions on the files /dev/modem and /dev/ttyS1 are: .nf \fC lrwxrwxrwx 1 root root 5 Aug 20 00:29 modem -> ttyS1 crw-rw-rw- 1 root tty 4, 65 Feb 7 23:58 ttyS1 .fi \fR You may have to create the modem link: .nf \fC cd /dev/ ln -s ttyS1 modem .fi \fR .LP .IP "" 11 .ll 6i Some of the files discussed above should be copied from the disks\fI LINUX FILES TO SAVE II\fR. If there is a problem such as the system not recognizing /dev/cua1, it can be due to incorrect building of the kernel. Additional information can be found in /usr/doc/Linux-HOWTOs/PPP-HOWTO. .LP .IP "12.0.0" 6 .ll 6i \fBNetworking \fR .IP " 12.1.0" 11 .ll 6i \fBEthernet Card \fR After selecting the correct driver for my Ethernet card, I commented out the line: .nf \fC #/sbin/modprobe rtl8139 .fi \fR in /etc/rc.d/rc.modules. Now, when I do\fI dmesg\fR, I get: .LP .nf \fC rtl8139.c:v1.07 5/6/99 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/rtl8139.html eth0: RealTek RTL8139 Fast Ethernet at 0xfc00, IRQ 10, 00:50:ba:d6:44:13. .IP "" 15 .ll 6i .fi \fR Which is the correct IRQ for my card. When I do a\fI ifconfig\fR, I get: .LP .nf \fC eth0 Link encap:Ethernet HWaddr 00:50:BA:D6:44:13 inet addr:192.168.1.8 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:24 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:10 Base address:0xfc00 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:3924 Metric:1 RX packets:875 errors:0 dropped:0 overruns:0 frame:0 TX packets:875 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 ppp0 Link encap:Point-to-Point Protocol inet addr:198.211.51.14 P-t-P:163.179.10.80 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:1136 errors:0 dropped:0 overruns:0 frame:0 TX packets:818 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 .fi \fR .IP " 12.2.0" 11 .ll 6i I also had to run\fI netconfig\fR to set a static IP address for this particular computer on my LAN. At the command prompt, type: .nf \fC netconfig \fR .fi Here are the choices I made to configure my network: .LP .nf \fC Enter hostname: san Enter domain name for san: san What type of network connection best describes your machine?: static IP Enter your IP address for the local machine: 192.168.1.8 Enter your netmask: 255.255.255.0 (default) Enter the address for the gateway on your network: (because I am using a modem) Will you be accessing a nameserver?: (I am using the nameservers provided by netcom) Name Server for domain san (aaa.bbb.ccc.ddd): 192.168.1.8 .fi \fR .IP "" 11 .ll 6i Note that I will have to add the nameservers associated with my ISP to resolv.conf because it has been overwritten by\fI netconfig\fR. .IP " 12.2.1" 15 .ll 6i The IP address 192.168.XXX.XXX is unique in that it is reserved for a LAN(I think). There also seems to be some security issues associated with this domain since I am unable to connect to it unless the connecting computer also has an IP address of the form 192.168.XXX.XXX. Further, the connecting computer has to have the third field the same as well. So based on the above setting, an acceptable IP address for the connecting computer would be 192.168.1.XXX. .IP " 12.2.2" 15 .ll 6i I successfully connected a Windows 2000 machine by setting the IP address for the Network card to this setting. To do it under\fB Knoppix\fR, the configuration process involved the following. From the menu at the bottom right, choose: \fI KNOPPIX/Network\\Internet/Network card configuration/ \fR This will prompt you for the following data: .LP .nf \fC Use DHCP broadcast?: No Please enter IP Address for eth0: 192.168.1.1 Please enter Network Mask for eth0: 255.255.255.0 Please enter Broadcast Address for eth0: 192.168.1.1 Please enter Default Gateway: 192.168.1.8 Please enter Nameserver(s): 192.168.1.8 \fR .IP "" 15 .ll 6i .fi When, on this connecting computer, you do an: \fC ifconfig \fR you will get: .LP \fC .nf eth0 Link encap:Ethernet HWaddr 00:02:E3:1D:84:03 inet addr:192.168.1.1 Bcast:192.168.1.1 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:68 errors:0 dropped:0 overruns:0 frame:0 TX packets:99 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5672 (5.5 KiB) TX bytes:68695 (67.0 KiB) Interrupt:11 Base address:0xa000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:18 errors:0 dropped:0 overruns:0 frame:0 TX packets:18 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:900 (900.0 b) TX bytes:900 (900.0 b) \fR .LP .IP " 12.3.0" 11 .ll 6i \fBssh \fR .IP " 12.3.1" 15 .ll 6i On Slackware 10.1, the\fB ssh server\fR is run by default. To prevent attempts to hack into my computer, I made the following modifications to /etc/hosts.allow and /etc/hosts.deny. In /etc/hosts.deny, I add the line: .nf \fC ALL: ALL .fi \fR and in /etc/hosts.allow, I added: .nf \fC ALL: 192.168.1.6 ALL: 192.168.1.7 ALL: 192.168.1.8 .fi \fR which are the only local machines allowed to login to my Linux machine. You can read more about this in the /usr/doc/Linux-HOWTOs/Security-HOWTO. And to see if there was an attempt to hack your machine, look in the file /var/log/syslog. .IP " 12.3.2" 15 .ll 6i If you want to completely shut down the sshd daemon, you can, as root, do: .nf \fC cd /etc/rc.d/ ./rc.sshd stop .fi \fR and to start it up again: .nf \fC cd /etc/rc.d/ ./rc.sshd restart .fi \fR To permanently turn it off, you can do: .nf \fC cd /etc/rc.d/ chmod -x rc.sshd .fi \fR Note that even if you do not have ssh services running, you still are able to ssh to another machine. .IP " 12.3.3" 15 .ll 6i To turn on\fI ssh services\fR in\fB KNOPPIX\fR, you should go to: \fI KNOPPIX/Services/Start SSH Server/ \fB KNOPPIX\fR may then ask you set user information for the user\fI knoppix\fR which will be the user you login as. If you prefer another user, you can also create one with: \fI System/KUser (User Manager)/ \fR .LP .IP "13.0.0" 6 .ll 6i \fBPrinting .fi \fR The new printing system is now based on\fB CUPS\fR. So I don't think you have to configure /etc/printcap or /modules.conf anymore unless you use the old\fI lp\fR system. This is no longer installed by default in Slackware so it is advisable to use\fB CUPS\fR. If you try to simply run\fI lp\fR or \fI lpr\fR, you will probably get: .nf \fC lpr: error - scheduler not responding! .fi \fR Also,\fB CUPS\fR will generate it's own /etc/printcap. .IP " 13.1.0" 11 .ll 6i First, you have to make sure that the initialization script for\fB CUPS\fR is running. To do this, you should: .nf \fC cd /etc/rc.d/ ls -l rc.cups .fi \fR The file\fC rc.cups\fR should be an executable and with the permissions: .nf \fC -rwxr-xr-x 1 root root 3942 2005-01-04 18:13 rc.cups .fi \fR If they aren't set to this, you have to do: .nf \fC chmod +x rc.cups .fi \fR .IP " 13.2.0" 11 .ll 6i The only way I was able to configure\fB CUPS\fR was through the\fB KDE\fR Window Manager and as root. \fB CUPS\fR may ask you for a password when you first start it, and this is different from your root/administrator password. In theory, you should be able to set this password by doing: .nf \fC lppasswd -g sys -a root .fi \fR but this resulted in several errors such as it couldn't find the password file. Because of this, I decided to log in as root and do everything through\fB KDE\fR. .IP " 13.3.0" 11 .ll 6i Now, you will want to start up a web browser and set the address to: .nf \fC http://localhost:631/ .fi \fR and click on the\fI Do Administration Tasks\fR. Now you will be prompted for a password, and I used root with the standard root password. I'm not sure why this worked, considering that I hadn't set the password through\fC lppasswd\fR. It may have been because I changed the owner of\fC lppasswd\fR from lp to root by doing: .nf \fC chown root /usr/bin/lppasswd .fi \fR but I'm not sure. It may also be that because I was already logged in as root. Anyway, now you should just follow the steps under\fI Add Printer\fR and this was enough to get the printer running. Also, you need to make sure that\fI localhost\fR is a valid IP address on your system. You should check\fC /etc/hosts\fR to make sure it has the line: .nf \fC 127.0.0.1 localhost .fi \fR .IP " 13.4.0" 11 .ll 6i Though it may not be necessary, I added some lines for the printer to /etc/modules.conf. The lines below were taken from /usr/src/linux/Documentation/parport.txt: .nf \fC # Printer alias parport_lowlevel parport_pc options parport_pc io=0x378,0x278 irq=7,auto .fi \fR .IP " 13.5.0" 11 .ll 6i A list of available fonts is given in /usr/share/groff/font/devps/. .LP .IP "" 6 .ll 6i I will say at this point that I found this new system to be incredibly frustrating. This need for an additional password seems needlessly complex, especially with all the problems I had trying to set it. There may be some security reasons for why things are done this way, but for the average printer setup, I imagine it will drive a lot of people away from using GNU/Linux. The need to configure through a browser may be a big problem as well. For many users on google, this was the case. It took me 5 hours to get the printer to work, and this is unacceptable. I also hate the way old configuration methods are abandoned which nearly negates all prior knowledge, and this is a reason I think\fI Microsoft\fR will continue to dominate the desktop. It may be easier to configure\fB CUPS\fR through\fI Redhat\fR, so you may want to consider going with them. .LP .IP "14.0.0" 6 .ll 6i \fBInstalling Software \fR .IP " 14.1.0" 11 .ll 6i In general, extract the application tarfiles according to the following rules: .LP .IP " 14.1.1" 15 .ll 6i Put non-X Window packages and software development tools in /usr/local/. .IP " 14.1.2" 15 .ll 6i Put X Window packages in /usr/lib/X11/. .LP .IP " 14.2.0" 11 .ll 6i After creating an executable, put it in /usr/local/bin/ if you want all users to have access to it. .LP .IP "" 6 .ll 6i Read\fI UNIX System V Release 4: The Complete Reference\fR pages 110-112 for a good discussion of the contents of the different UNIX directories. .LP .IP "15.0.0" 6 .ll 6i To see boot up messages: .nf \fC dmesg .fi \fR There is also the file /var/log/messages which gives you additional system information for your current login session. .LP .IP "16.0.0" 6 .ll 6i \fBInstalling Mesa(the OpenGL graphics library): \fR .IP " 16.1.0" 11 .ll 6i For recent versions of GNU/Linux(like Slackware-7.1), Mesa comes pre-installed. All you need to do is add the following softlink: \fC cd /usr/include/ ln -s /usr/X11R6/include/GL/ GL \fR if it doesn't already exist. If you are running\fI Redhat\fR, you need to add the glut libraries from the RPMs on the installation disk(For RedHat 8.0, it is on the 3rd disk, for RedHat 9.0, it is on the 2nd disk): \fC cd /mnt/cdrom/RedHat/RPMS rpm -Uhv glut-3.7-12.i386.rpm rpm -Uhv glut-devel-3.7-12.i386.rpm \fR There are several places where you can get\fI Mesa\fR. You can get it off the web at: .LP .nf \fC http://sourceforge.net/project/showfiles.php?group_id=3&release_id=40500 \fI .fi .IP " 16.2.0" 11 .ll 6i After getting the tarfiles, copy them to the directory /usr/local/ and do: .nf \fC tar xzvfp MesaLib*.gz tar xzvfp MesaDemos*.gz .LP .IP " 16.3.0" 11 .ll 6i \fBCompiling Mesa Programs \fR .IP " 16.3.1" 15 .ll 6i From the /Mesa-3.4.2/README: .LP .IP "" 20 .ll 6i To compile the library, first type 'make' alone to see the list of system configurations currently supported. If you see your configuration on the list, type 'make '. Most popular Unix/X workstations are currently supported. .IP "" 15 .ll 6i For my machine, I use: \fC make linux \fR .IP " 16.3.2" 15 .ll 6i \fBHeader Files and Libraries \fR From the /Mesa-3.4.2/docs/INSTALL: .IP "" 20 .ll 6i .nf \fR Header and library files: .nf After you've compiled Mesa and tried the demos I recommend the following procedure for "installing" Mesa. Copy the Mesa include/GL directory to /usr/local/include: .IP "" 15 .ll 6i \fC mkdir /usr/local/include/GL cp -r include/GL/* /usr/local/include/GL/ \fR .IP "" 20 .ll 6i Copy the Mesa library files to /usr/local/lib: .IP "" 15 .ll 6i \fC cp -d lib/* /usr/local/lib \fR .IP "" 20 .ll 6i \fC (actually, use "cp -d" on Linux to preserve symbolic links) \fR .IP " 16.3.3" 15 .ll 6i \fBInstall Widgets-Mesa Library \fR You also need to install the Widgets-Mesa Library. First: .ll 6i \fC cd /usr/local/Mesa-3.4.2/widgets-mesa/ \fR The file /usr/local/Mesa-3.4.2/widgets-mesa/INSTALL tells you to: .IP "" 15 .ll 6i \fC ./configure make make demo.gl make demo.mesa make demo.ws make demo.tea make install \fR .LP .IP " 16.4.0" 11 .ll 6i \fBGlut \fR If you get Mesa-2.5 or lower, you will be able to use both\fI Aux\fR and\fI Glut\fR. Mesa-3.4.2 and the tarfile glut36.tgz, which I got from: http://reality.sgi.com/mjk_asd/glut3/glut-3.6.tar.gz has\fI Glut\fR demos only. I recommend you only use\fI Glut\fR which is far superior to\fI Aux\fR. You can use Glut-3.6, which has some great demos, as your source of\fI OpenGL\fR, or you can continue using\fI Mesa\fR. Since\fI Mesa\fR has all the necessary libraries to compile programs in\fI Glut\fR, I recommend that you take the very good demo programs you get after extracting glut36.tgz in the desired directory(like /usr/local/): .nf \fC cd /usr/local/ tar xzvfp glut36.tgz .fi \fR and compiling them with\fI Mesa-3.4.2\fR. This will save you a lot of space since making all the demo binaries in Glut-3.6 requires 250 Megs of disk space. The glut36.tgz file is itself 1725 K. Below are the steps for doing the full installation. .LP .IP " 16.4.1" 15 .ll 6i Follow these steps as given by /usr/local/glut-3.6/linux/README. You must do this while logged in as root. It is not enough to simply do an "SU". From /usr/local/glut-3.6/linux/README: .LP .IP "" 20 .ll 6i Change into $GLUT_HOME/. and make a backup copy of the Glut.cf file. Then, take the copy from this archive and move it into $GLUT_HOME. .LP .IP "" 15 .ll 6i .nf \fC cd /usr/local/glut-3.6 cp Glut.cf Glut.cf.old cp /usr/local/glut-3.6/linux/Glut.cf /usr/local/glut-3.6/Glut.cf \fR .IP " 16.4.2" 20 .ll 6i Run the script to build all the makefiles: .LP .IP "" 15 .ll 6i .nf \fC mkmkfiles.imake \fR .IP " 16.4.3" 20 .ll 6i Change into $GLUT_HOME/lib/glut/. and make a backup copy of the Makefile. Now, take the Makefile out of the archive and replace the old one. .LP .nf \fC cd /usr/local/glut-3.6/lib/glut cp Makefile Makefile.old cp /usr/local/glut-3.6/linux/Makefile /usr/local/glut-3.6/lib/glut/Makefile \fR .fi .IP " 16.4.4" 20 .ll 6i WHILE STILL IN THE $GLUT_HOME/lib/glut/. DIRECTOR, RUN(Note that the README also talks about potential problems and how to solve them in this section) : .LP .IP "" 15 .ll 6i .nf \fC make \fR .fi .IP " 16.4.5" 20 .ll 6i Make two symbolic links: .LP .IP "" 15 .ll 6i .nf \fC ln -s libglut.so.3.6 libglut.so.3 ln -s libglut.so.3.6 libglut.so \fR .fi .IP " 16.4.6" 20 .ll 6i Now, back up to $GLUT_HOME/. and: .LP .IP "" 15 .ll 6i .nf \fC cd /usr/local/glut-3.6 make \fR .fi .IP " 16.4.7" 20 .ll 6i Add the line from archive file 'path' to your .profile, or better to your systemwide (/etc/profile). Then logout out and back in again (to refresh your path.) .LP .IP "" 15 .ll 6i I added these lines: .LP .nf \fC #Software Development #Glut GLUT_HOME=/usr/local/glut-3.6 export LD_LIBRARY_PATH=$GLUT_HOME/lib/glut/:$LD_LIBRARY_PATH export GLUT_HOME \fR .IP "" 15 .ll 6i to my ~/.profile rather than the systemwide /etc/profile. If you want to make it possible for other users to develop software with these libraries, then you should add it to /etc/profile/. .IP "" 15 .ll 6i You can put this line at the bottom of the file. You may have to reset the machine after this before it will take effect. Now it will be possible to run the demo programs. .LP .IP " 16.5.0" 11 .ll 6i \fBMakefiles for Glut and Aux \fR .IP " 16.5.1" 15 .ll 6i In a Makefile, you must include a line like: .LP .nf \fC bounce: gcc -I/usr/local/include -O2 -funroll-loops -ansi -pedantic\\ -ffast-math -I/usr/X11R6/include -DSHM\\ -L/usr/local/lib -lglut -lGLU -lGL -lm -L/usr/X11/lib\\ -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE .fi \fR .IP "" 11 .ll 6i when the code is built around the\fI Glut\fR library, and: .LP .nf \fC gears: gcc -I/Mesa-3.0/include -O2 -funroll-loops -ansi -pedantic -ffast-math\\ -I/usr/X11R6/include -DSHM gears.c -L../lib -lMesaaux -lMesatk\\ -lMesaGLU -lMesaGL -lm -L/usr/X11/lib -L/usr/X11R6/lib -lX11\\ -lXext -lXmu -lXt -lXi -lSM -lICE -o gears .fi \fR .IP "" 15 .ll 6i when the code is built around the\fI Aux\fR library. .LP .IP " 16.5.2" 15 .ll 6i Alternatively you can create the following macros in the Makefiles: For\fI Glut\fR: .LP .nf \fC LIB1 = -I/usr/local/include -O2 -funroll-loops -ansi -pedantic \\ -ffast-math -I/usr/X11R6/include -DSHM LIB2 = -L/usr/local/lib -lglut -lGLU -lGL -lm -L/usr/X11/lib \\ -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE .LP .IP "" 15 .ll 6i For\fI Aux\fR: .LP .nf \fC LIB1 = -I/Mesa-3.0/include -O2 -funroll-loops -ansi -pedantic -ffast-math \\ -I/usr/X11R6/include -DSHM LIB2 = -L../lib -lMesaaux -lMesatk\\ -lMesaGLU -lMesaGL -lm -L/usr/X11/lib -L/usr/X11R6/lib -lX11\\ -lXext -lXmu -lXt -lXi -lSM -lICE .fi \fR .IP "" 15 .ll 6i and compile based on: .nf \fC sine: gcc -o sine $(LIB1) pcsine.c $(LIB2) .fi \fR .IP " 16.5.3" 15 .ll 6i It was assumed in the above that the tarfiles were extracted from the / directory. If you were to place it in another, such as /usr/local/, then wherever you see a /Mesa-3.0/, replace this with /usr/local/Mesa-3.0. .IP " 16.5.4" 15 .ll 6i If there is linking involved, you can use: .nf \fC att: swim.o \\ atlantis.o \\ shark.o \\ whale.o \\ dolphin.o \\ atlantis.h $(CC) -o att $(LIB1) swim.o \\ atlantis.o \\ shark.o \\ whale.o \\ dolphin.o $(LIB2) swim.o: swim.c $(CC) -c swim.c shark.o: shark.c $(CC) -c shark.c whale.o: whale.c $(CC) -c whale.c dolphin.o: dolphin.c $(CC) -c dolphin.c atlantis.o: atlantis.c $(CC) -c atlantis.c .fi \fR The above example comes from my attempt to compile the separate modules which make up the demo program in /usr/local/glut-3.6/progs/demos/atlantis/ using the\fI Mesa\fR installation rather than\fI Glut\fR. .IP " 16.6.0" 11 .ll 6i \fBOpenInventor \fR .IP " 16.6.1" 15 .ll 6i \fBQt \fR Download the\fI OpenInventor\fR like toolkit for GNU/Linux called\fI Pryan\fR from: ftp://ftp.troll.no/contest/ and extract the tarfile in /usr/local/: .nf \fC tar xzvfp inventor.tgz .fi \fR This will create the directory /usr/local/Pryan/. The /usr/local/Pryan/README states that before you can use\fI Pryan\fR, you have to install\fI Qt\fR, an X Windows development package. I downloaded it from: http://www.troll.no/dl/qt-1.40.tar.html and extracted the tarfile in /usr/local: .nf \fC tar xzvfp qt1_4.tgz .fi \fR This creates the directory /qt-1.4/. From /usr/local/qt-1.40/INSTALL, you should now rename this directory qt: .nf \fC mv qt-1.40 qt .fi \fR Modify /root/.profile in the root account as indicated in step 2 of /usr/local/qt-1.40/INSTALL. I simply copied all the shell commands below the statement: .IP "" 20 .ll 6i In .profile (in case your shell if bash, ksh, zsh or sh): .IP "" 15 .ll 6i to /root/.profile. To activate this shell, do a: .nf \fC source /root/.profile .fi \fR Then in /usr/local/qt, type: .nf \fC make linux-g++-shared-debug make .fi \fR From the /usr/local/Pryan/README: .IP "" 20 .ll 6i 2. you need to compile the QGLWidget library in OpenGL directory of Qt's distribution, .IP "" 15 .ll 6i which, from the /usr/local/qt/extensions/opengl/README/, is done by: .nf \fC cd /usr/local/qt/extensions/opengl/src/ make .fi \fR To make the\fI OpenGL\fR examples, go to each of the three directories box/ gear/ and sharedbox/ located in /usr/local/qt/extensions/opengl/examples/ and type "make" in each one. There are several other examples in the directory /usr/local/qt/examples/ which you may want to try out.\fI Qt\fR may even be a more versatile package than the\fB Lesstif X Window Development Tools\fR in 16.0. .IP " 16.6.2" 15 .ll 6i \fBInstalling OpenInventor Emulator Pryan \fR Follow the instructions for installation in the /usr/local/Pryan/README. After extracting the tarfile: .nf \fC tar xzvfp pryan.tgz .fi \fR in /usr/local/Pryan/Config, change gmake to make. Then put the $(GLLIB) after $(QTLIB) in the macro definition for LFLAGS. So it should look like: .LP .nf \fC LFLAGS = -L/usr/X11R6/lib $(MOTLIB) $(QTLIB) $(GLLIB) $(GLLIBS) -lXext -lX11 -lm .fi \fR .IP "" 15 .ll 6i This is because the glX functions are defined by Mesa's glx.c files so you need "-lMesaGL -lMesaGLU" to follow "-L/usr/local/qt/lib". Now you can type: \fC make .IP " 16.6.3" 15 .ll 6i \fBInstalling OpenInventor Emulator Apprentice \fR Apprentice can be downloaded from: http://users.deltanet.com/~powerg/Apprentice/ Extract the tarfile, go to the newly created directory Apprentice/, and then do a: .nf \fC tar xzvfp apprent.tgz cd Apprentice/ make linux-nomotif .fi \fR You will then have to go to the directory Apprentice/examples/ivview/ where the file called Apprentice tells you to do a: .nf \fC xrdb -o Apprentice Apprentice ivview ../../Cone.iv .fi \fR This will allow you to use the iv viewer program,\fI ivview\fR, in this directory. .LP .IP "17.0.0" 6 .ll 6i \fB X Window Development Tools(which create windows and buttons) \fR .IP " 17.1.0" 11 .ll 6i You must do everything here logged in as root. Download the\fI Lesstif\fR package from: \fC ftp://linux.gt.ed.net/pub/linux/libs/lesstif/ \fR then copy it to the desired directory(like /usr/local/) and extract the tarfile: \fC tar xzvfp lesstif-current.tar.gz \fR .IP " 17.1.1" 15 .ll 6i This will create the directory, /usr/local/lesstif-current/. The file /usr/local/lesstif-current/INSTALL will instruct you to do the following: .IP "" 15 .ll 6i .nf \fC cd /usr/local/lesstif-current/ configure make make install .fi \fR .IP " 17.1.2" 15 .ll 6i Edit /etc/ld.so.conf and add the following line so that the necessary shared libraries will be available: .nf \fC /usr/local/lesstif-current/lib .fi \fR Remember to change /usr/local/ to the directory where you installed the package. Then run: .nf \fC ldconfig -v .fi \fR .IP " 17.1.3" 15 .ll 6i The example programs are located in: /usr/local/lesstif-current/test/Xm/ in their respective directories. I tried to install\fI Lesstif\fR from the\fB Cheap*Bytes Archive 1\fR CDrom located at: /cdrom/hungry/lesstif/lesstif-current.tar.gz but there were some compilation errors. The version which I download is the latest distribution of\fI Lesstif\fR. .IP " 17.2.0" 11 .ll 6i An alternative to\fI Lesstif\fR is\fI Tcl/Tk\fR. It already came installed on Linux, so all I had to do was work with the demos given in: /usr/lib/tk8.0/demos/ .LP .IP "18.0.0" 6 .ll 6i \fBStandard Generalized Markup Language(SGML) \fR .IP " 18.1.0" 11 .ll 6i After getting the\fI SGML\fR tools from: .nf http://pobox.com/~cg/sgmltools or http://www.pobox.com/~cg/sgmltools .fi extract the tarfiles in the desired directory(like /usr/local/): .nf \fC cd /usr/local/ tar xzvfp sgml.tgz tar xzvfp sgml2.gz .fi \fR This will create the directories /usr/local/sgml-tools-1.0.7/ and /usr/local/SGML-Tools/. .IP " 18.2.0" 11 .ll 6i Next, from the file /usr/local/sgml-tools-1.0.7/INSTALL, do a: .nf \fC cd /usr/local/sgml-tools-1.0.7/ configure make make install .fi \fR Once installed, it will be usable by everyone. .IP " 18.3.0" 11 .ll 6i The instructions on using the package are in the file /usr/local/sgml-tools-1.0.7/doc/guide.txt under\fI section 4 Formatting SGML Documents\fR. .LP .IP "19.0.0" 6 .ll 6i \fBWriting to CDs .IP " 19.1.0" 11 To use the CD-RW, I had to use the ide-scsi module which has to be loaded during boot up. I configured LILO to do this by adding in /etc/lilo.conf the line: \fC append="hdc=ide-scsi" \fR in the section for booting the linux kernel. This is discussed in the email sent by Patrick Volkerding after installation: .LP .IP "" 20 .ll 6i The ide-scsi module is loaded by default for Linux 2.4, but you'll also need to pass an option to the kernel telling it to use SCSI emulation for a specific device, otherwise the ATAPI driver will be used. Let's say your CD-RW drive is /dev/hdc, then you'd want to pass the "hdc=ide-scsi" option to the kernel. You can do this with an append command in /etc/lilo.conf: append="hdc=ide-scsi" After editing lilo.conf, you must run lilo to reinstall it. You can also pass the hdc=ide-scsi option on a bootdisk command line. .LP .IP "" 11 .ll 6i After doing the above, subsequent boot ups should list ide-scsi as a module when you do\fI lsmod\fR. .LP .IP " 19.2.0" 11 .ll 6i The next thing to do is to make a softlink between /dev/cdrom and /dev/scd0 which is how the SCSI will now appear. The email above continues on to say: .IP "" 20 .ll 6i Once you do this, your CD-RW device will appear as a SCSI device (/dev/scd0) rather than an IDE device (/dev/hdc). If this is the only CD-ROM type device in the machine (there's no DVD drive, for instance), then you'll probably also want to change your /dev/cdrom symbolic link to point to the new SCSI device instead of the old IDE device: \fC cd /dev rm cdrom ln -sf scd0 cdrom \fR .LP .IP "" 11 .ll 6i I myself did: \fC cd /dev rm cdrom ln -sf /dev/scd0 cdrom \fR .IP " 19.3.0" 11 .ll 6i The main programs to use when burning CDs are\fI nautilus\fR and\fI nautilus-cd-burner\fR. The latter can be launched from the former which you can do through the command line. These programs are completely GUI driven. .IP " 19.3.1" 15 .ll 6i \fBNautilus \fR After starting\fBNautilus\fR with: \fC nautilus & \fR a window will appear containing the files in your home directory will appear.\fB Nautilus\fR runs like a file manager in Windows where you can drag files from one window into another. Go to the menu\fI File/Open Location.../\fR and type in: \fC burn:/// \fR and this will launch the\fB CD Creator\fR window. You can drag files or directories from any window into this window, and it will be part of the files burned into the CD-R. If you want to open up another directory, you can also use the menu under\fI File/Open Location.../\fR and type in the directory you want to open. I have found this to be more reliable than simply clicking on an icon in the window. .IP " 19.3.2" 15 Once you have copied all the files you want, select the\fB CD Creator\fR window and menu option\fI File/Write to CD/\fR which will open another window. The first thing to note is a message at the top saying how large the data to be written will be. Most CD-R disk allow 700 MB and so this data probably should be less than 680 MB. Below are several options such as naming the CD, set the write speed, and the target to write to. Other choices to make are check boxes for\fI Erase CD\fR, \fI Eject CD when done\fR, and\fI Reuse these files for another CD\fR. Most are self-explanatory, but I will make special note of the\fI Target to write to\fR and\fI Reuse these files for another CD\fR options. For the latter, checking this box will retain the data after writing in case you want to make another CD. I usually check this box in case something goes wrong. For the\fI Target to write to\fR, I choose\fI File image\fR rather than\fI CDWRITER -IDE5224\fR because I haven't configured the CD-RW to allow non-superusers to write to the CD. Once you have selected the above, press the\fI Write files to CD\fR button. Two windows will now open. The first gives you the option of naming the CD image whose default name is\fI image.iso\fR and the directory you want to save it in. Even though the default folder is\fI Home\fR, this is really your personal user home directory so you can simply press the\fI OK\fR button. You can also\fI Browse for other folders\fR. The second window is the\fI Writing CD\fR window which tells you the status of the writing. Once this is completed, you should have the file\fI image.iso\fR in the directory you selected. .IP " 19.3.3" 15 .ll 6i \fBWriting image to CD \fR Now I change to superuser and write to the cd using\fI cdrecord\fR. First, you have to scan for CD-RW devices which the command: \fC #cdrecord -scanbus \fR The output for me is: .LP .nf \fC Cdrecord-Clone 2.01 (i686-pc-linux-gnu) Copyright (C) 1995-2004 Jörg Schilling Linux sg driver version: 3.1.25 Using libscg version 'schily-0.8'. scsibus0: 0,0,0 0) 'CDWRITER' 'IDE5224 ' 'S027' Removable CD-ROM 0,1,0 1) * 0,2,0 2) * 0,3,0 3) * 0,4,0 4) * 0,5,0 5) * 0,6,0 6) * 0,7,0 7) * .fi \fR .IP "" 15 .ll 6i Now I give the command: .nf \fC #cdrecord -v -eject speed=24 dev=0,0,0 image.iso \fR .fi where the speed=24 matches the speed of the CD-RW and dev=0,0,0 corresponds to the devices listed from the output of\fI cdrecord -scanbus\fR. The output of the above is: .LP .ps 8 .nf \fC root@san:/home/fem# cdrecord -v -eject speed=24 dev=0,0,0 image.iso cdrecord: No write mode specified. cdrecord: Asuming -tao mode. cdrecord: Future versions of cdrecord may have different drive dependent defaults. cdrecord: Continuing in 5 seconds... Cdrecord-Clone 2.01 (i686-pc-linux-gnu) Copyright (C) 1995-2004 Jörg Schilling TOC Type: 1 = CD-ROM scsidev: '0,0,0' scsibus: 0 target: 0 lun: 0 Linux sg driver version: 3.1.25 Using libscg version 'schily-0.8'. SCSI buffer size: 64512 atapi: 1 Device type : Removable CD-ROM Version : 0 Response Format: 1 Vendor_info : 'CDWRITER' Identifikation : 'IDE5224 ' Revision : 'S027' Device seems to be: Generic mmc CD-RW. Current: 0x0009 Profile: 0x000A Profile: 0x0009 (current) Profile: 0x0008 Profile: 0x0002 (current) Using generic SCSI-3/mmc CD-R/CD-RW driver (mmc_cdr). Driver flags : MMC-3 SWABAUDIO BURNFREE Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R Drive buf size : 1951488 = 1905 KB FIFO size : 4194304 = 4096 KB Track 01: data 620 MB Total size: 712 MB (70:35.72) = 317679 sectors Lout start: 712 MB (70:37/54) = 317679 sectors Current Secsize: 2048 ATIP info from disk: Indicated writing power: 6 Is not unrestricted Is not erasable Disk sub type: Medium Type C, low Beta category (C-) (6) ATIP start of lead in: -11231 (97:32/19) ATIP start of lead out: 359846 (79:59/71) Disk type: Short strategy type (Phthalocyanine or similar) Manuf. index: 27 Manufacturer: Prodisc Technology Inc. Blocks total: 359846 Blocks current: 359846 Blocks remaining: 42167 Starting to write CD/DVD at speed 24 in real TAO mode for single session. Last chance to quit, starting real write 0 seconds. Operation starts. Waiting for reader process to fill input buffer ... input buffer ready. BURN-Free is OFF. Performing OPC... Starting new track at sector: 0 Track 01: 620 of 620 MB written (fifo 100%) [buf 98%] 24.7x. Track 01: Total bytes read/written: 650602496/650602496 (317677 sectors). Writing time: 197.559s Average write speed 22.3x. Min drive buffer fill was 87% Fixating... Fixating time: 19.711s cdrecord: fifo had 10248 puts and 10248 gets. cdrecord: fifo was 0 times empty and 5199 times full, min fill was 93%. \fR .fi .ps 10 .IP "" 15 .ll 6i Note that you do not have to mount the /cdrom first. .IP " 19.3.4" 15 .ll 6i \fBAdditional Information \fR When I tried to create another image which contained 609.3 MB, I got errors like: .LP .ps 8 .nf \fC ** (nautilus-cd-burner:1173): WARNING **: Can't copy file (open dest '/tmp/iso-fem.7n3dWm/subdir.87pDVF/App_A.tex.gz' failed) error:: No space left on device .fi \fR .IP "" 15 This is due to the fact that my /tmp directory only had 160 MB and I needed 288 MB. I overcame this problem by mounting /tmp on /dev/hdb4 which is one of my backup partitions on /dev/hdb4 and has 34 GB of space.(Note that I had not yet filled up this partition, so I didn't worry about files being deleted after the copying was done.) When CD Creator was finished making the image, the /dev/hdb4 went back down to 32.9 MB of data. Here is what I got when I did\fI df\fR during and after creating the image respectively: .LP .nf \fC /dev/hdb3 34104944 287148 33817796 1% /tmp /dev/hdb3 34104944 32852 34072092 1% /tmp .fi \fR .IP "" 15 There are some interesting numbers related to the amount of data I have recorded. For instance, even though the CD Creator says that all the files to be recorded amount to 609.9 MB, the image.iso file is 660 MB (660379648 Bytes), and the output from cdrecord says 629 MB. Also, after burning the CD and doing\fI df\fR for the cdrom, I get: .LP .nf \fC /dev/scd0 644902 644902 0 100% /cdrom .fi \fR .LP .IP "20.0.0" 6 .ll 6i \fBReal Audio Player \fR .fi The real audio file is located on the disk\fI GNU/Linux Plug and Play\fR and is called raplayer.tgz. To get at it, do: .nf \fC cp /fd0dos/raplayer.tgz ~/ tar xzvfp ~/raplayer.tgz .fi \fR And read ~/raplayer8.0/README.FIRST. When I started RealPlayer 8.0, I get the error:\fI Cannot open the audio device. Another application may be using it.\fR. I solved this by doing the following: .IP " 20.1.0" 11 .ll 6i Change the permissions for the file /dev/dsp to 666: .nf \fC chmod 666 /dev/dsp \.fi \fR .LP .IP " 20.2.0" 11 .ll 6i Under the menu\fI View/Preferences\fR, click on the tab\fI Performance\fR and choose the button for\fI Enable support for old OSS drivers (Linux only)\fR for the\fI Audio Driver Options\fR. I had it previously set to\fI ESound Support(Linux only, ESD must be running)\fR but that no longer works. .LP .IP "21.0.0" 6 .ll 6i \fBApache Web Server \fR .IP " 21.1.0" 11 .ll 6i The\fI Apache\fR webserver(1.2.4) is already running on the\fI Slackware Distribution\fR, but I was unable to find its directory tree so I downloaded the latest\fI Apache\fR(version 1.3.4 as of this writing) from: http://www.apache.org which I installed in /usr/local/etc using: .nf \fC cd /usr/local/etc cp /fd0dos/apache.tgz . tar xzvfp apache.tgz .fi \fR This will create a directory /usr/local/etc/apache_1.3.4/. I wanted the server to be in /usr/local/etc/httpd/ so I did a: .nf \fC mv apache_1.3.4/ httpd \fR .IP " 21.2.0" 11 .ll 6i In the file /usr/local/etc/apache_1.3.4/INSTALL/, there are instructions for installation. I chose the simplest: .nf \fC ./configure --prefix=/usr/local/etc/httpd make make install \fR .IP " 21.3.0" 11 .ll 6i Because I am using this webserver purely for testing\fI CGI\fR web pages, the only domain I use is\fI Localhost\fR so I had to make one modification of the configuration file /usr/local/etc/httpd/conf/httpd.conf setting: \fC ServerName 127.0.0.1 \fR .IP " 21.4.0" 11 .ll 6i Then I tested whether the installation worked with: .nf \fC /usr/local/etc/httpd/bin/apachectl start /usr/local/etc/httpd/bin/apachectl stop \fR .IP " 21.5.0" 11 .ll 6i My machine was already configured to start up the old version of\fI Apache\fR. To prevent it from running during startup, I commented out the lines: .nf \fC # Start Web server: #if [ -x /etc/rc.d/rc.httpd ]; then # . /etc/rc.d/rc.httpd #fi \fR in the file /etc/rc.d/rc.M. Now when I run\fI httpd\fR, I do a: .LP .nf \fC /usr/local/etc/httpd/src/httpd -f /usr/local/etc/httpd/conf/httpd.conf \fR .ll 6i so that it runs the above version. .IP "" 11 .ll 6i Now start up\fI Netscape\fR and set the URL to: http://localhost/ I also did a: .nf \fC ps -ax \fR .fi to see if\fI httpd\fR was running. When you want to kill apache, the file http://localhost/manual/install.html tells you to: .nf \fC kill -TERM `cat /var/run/httpd.pid` .IP " 21.6.0" 11 .ll 6i \fBCGI .fi \fR To use\fI CGI\fR you must change the file permissions in /var/lib/apache/cgi-bin/ for group and other by adding read and executable with: .nf \fC chmod 755 * .LP .IP " 21.7.0" 11 .ll 6i \fBPerl .fi \fR The\fI perl\fR binary is located in /usr/bin/, so you should make a soft link to it from wherever the\fI perl\fR script expects to find it. For instance, at the top of my\fI perl\fR scripts is the line: .nf \fC #!/usr/local/bin/perl -w .fi \fR which shows that it expects to find\fI perl\fR in the /usr/local/bin/ directory. So I made a soft link called\fI perl\fR in this directory to the real\fI perl\fR: .nf \fC cd /usr/local/bin/ ln -s /usr/bin/perl5.00503 perl .fi \fR where \fI perl5.00403\fR is the actual executable. .IP "" 6 .ll 6i Page 480 to 487 of\fI Running Linux\fR has a very good discussion of configuring\fI httpd\fR. .LP .IP "22.0.0" 6 .ll 6i \fBInitialization Files .cshrc, .login, .bash_login, .profile .IP " 22.1.0" 11 .ll 6i When invoking an xterm, I can get a personal initialization file to execute by naming it .profile. .cshrc or .login will not work. This is because I am using a bash shell. Here are the rules as given by "man bash": .nf \fC Login shells: On login (subject to the -noprofile option): if /etc/profile exists, source it. if ~/.bash_profile exists, source it, else if ~/.bash_login exists, source it, else if ~/.profile exists, source it. .fi .IP " 22.2.0" 11 .ll 6i \fBSetting the Path for The Current Directory \fR Slackware sets the path in /etc/profile so that an executable in the current directory will run by simply typing in the executable's name. This will work for all users other than root. If your distribution does not already do this, you can modify your .profile and add: \fC export PATH=$PATH:. \fR .LP .IP "23.0.0" 6 .ll 6i \fBKeyboard \fR .IP " 23.1.0" 11 .ll 6i If you want to change the keymap to Dvorak, then do the following as given in the /usr/doc/Linux-HOWTOs/Keyboard-and-Console-HOWTO: .LP .nf .IP "" 20 .ll 6i 5.2. How to tell Linux what code to generate when a key is pressed On the console, or, more precisely, when not in (MEDIUM)RAW mode, use \fC % loadkeys dvorak.map (before startx) \fR and under X use \fC % xmodmap dvorak.map (after startx) \fR .LP .IP "" 11 .ll 6i This file has other information that you may want to go through. Look in the /usr/lib/kbd/keytables/ directory to see different types of keymaps. .LP .IP " 23.2.0" 11 .ll 6i I've had trouble using xmodmap to switch to Dvorak from the /usr/lib/kbd/keytables. Someone suggested doing: .nf \fC xmodmap -pke > qwerty.map cp qwerty.map dvorak.map \fR .fi and swapping the keys one by one in dvorak.map until you get Dvorak. The dvorak.map file I made with this method has the following differences with the qwerty.map: .nf \fC keycode 20 = bracketleft braceleft keycode 21 = bracketright braceright keycode 24 = apostrophe quotedbl keycode 25 = comma less keycode 26 = period greater keycode 27 = p P keycode 28 = y Y keycode 29 = f F keycode 30 = g G keycode 31 = c C keycode 32 = r R keycode 33 = l L keycode 34 = slash question keycode 35 = equal plus keycode 39 = o O keycode 40 = e E keycode 41 = u U keycode 42 = i I keycode 43 = d D keycode 44 = h H keycode 45 = t T keycode 46 = n N keycode 47 = s S keycode 48 = minus underscore keycode 52 = semicolon colon keycode 53 = q Q keycode 54 = j J keycode 55 = k K keycode 56 = x X keycode 57 = b B keycode 59 = w W keycode 60 = v V keycode 61 = z Z .fi \fR I added the following lines to my .profile: .nf \fC alias km='xmodmap dvorak.map' alias tm='xmodmap qwerty.map' .fi \fR so that it will now execute\fI xmodmap dvorak.map\fR when I type\fI km\fR. Similarly, typing\fI tm\fR will switch me back. .fi .IP " 23.3.0" 11 .ll 6i If you only want to change to DVORAK while in\fI vi\fR, you can get the two files: .nf http://www.vim.org/src/keyboard.dvorak2qwerty .fi and .nf http://www.vim.org/src/keyboard.qwerty2dvorak .fi Now, you can switch back and forth in\fI vi\fR, by doing: .nf \fC :source keyboard.qwerty2dvorak \fR .fi to use DVORAK and: .nf \fC :source keyboard.qwerty2dvorak \fR .fi to use QWERTY. .LP .IP "24.0.0" 6 .ll 6i \fBPCI .fi \fR .IP " 24.1.0" 11 .ll 6i In the file /usr/src/linux/include/linux/pci.h, there are the following lines beginning on line 563: .nf \fC #define PCI_DEVICE_ID_INTEL_82371SB_0 0x7000 #define PCI_DEVICE_ID_INTEL_82371SB_1 0x7010 #define PCI_DEVICE_ID_INTEL_82371SB_2 0x7020 .fi \fR which indicate that the chips on my motherboard are supported. .IP " 24.2.0" 11 .ll 6i When I do a: \fC .nf cat /proc/pci .fi \fR to see what pci devices were detected, I get: .LP .nf \fC PCI devices found: Bus 0, device 11, function 0: VGA compatible controller: Matrox Unknown device (rev 0). Vendor id=102b. Device id=51b. Medium devsel. Fast back-to-back capable. IRQ 11. Master Capable. Latency=32. Prefetchable 32 bit memory at 0xfb000000. Non-prefetchable 32 bit memory at 0xffbec000. Non-prefetchable 32 bit memory at 0xff000000. Bus 0, device 7, function 2: USB Controller: Intel 82371SB Natoma/Triton II PIIX3 (rev 1). Medium devsel. Fast back-to-back capable. IRQ 10. Master Capable. Latency=32. I/O at 0xff80. Bus 0, device 7, function 1: IDE interface: Intel 82371SB Natoma/Triton II PIIX3 (rev 0). Medium devsel. Fast back-to-back capable. Master Capable. Latency=32. I/O at 0xffa0. Bus 0, device 7, function 0: ISA bridge: Intel 82371SB Natoma/Triton II PIIX3 (rev 1). Medium devsel. Fast back-to-back capable. Master Capable. No bursts. Bus 0, device 0, function 0: Host bridge: Intel 82441FX Natoma (rev 2). Medium devsel. Fast back-to-back capable. Master Capable. Latency=32. \fR .LP .IP "25.0.0" 6 .ll 6i \fBCreating a Bootdisk \fR .LP .IP " 25.1.0" 11 .ll 6i After mounting the cdrom, read /cdrom/kernels/README.NOW for information on creating a bootdisk. This is different from creating an installation bootdisk. .LP .IP " 25.1.1" 15 .ll 6i From the file /cdrom/kernels/README.NOW: .LP .IP "" 20 .ll 6i 1. Using a kernel in this directory to make a simple bootdisk: Just cat the kernel to a floppy, like this: \fC cat scsinet.b/zImage > /dev/fd0 \fR .LP .IP " 25.1.2" 15 .ll 6i Here is a second option, as stated by README.NOW: .LP .fi .IP "" 20 .ll 6i Then, with a formatted disk in your boot drive, type: .LP .nf \fC makedisk kernel_name disk_size ** ********* This can be 1440, or 1200. *********** mitsumi, scsi, or whatever you want to use. Include the path to the kernel if it's in one of the subdirectories, such as: mitsumi.b/zImage .fi \fR .IP " 25.1.3" 15 .ll 6i The third and fourth option are(from /usr/doc/Linux-HOWTOs/Bootdisk-HOWTO): \fC dd if=zImage of=/dev/fd0 \fR and \fC cp zImage /dev/fd0 \fR where, for my system, the zImage comes from the /cdrom/kernels/bare.i/ directory. Again, the reason I have not chosen /cdrom/kernels/fat32.i/ is because the system is FAT16. .IP " 25.1.4" 15 .ll 6i A more thorough explanation of the above commands comes from: .nf http://sunsite.unc.edu/LDP/LDP/gs/node4.html#SECTION004112000000000000000 .fi In\fI section 2 Obtaining and Installing GNU/Linux\fR of the above: .IP "" 20 .ll 6i If you have an operational Linux system; for example, if you upgrade and want to create the disk images with Linux, you change to the directory with the disk images and issue the command: \fC dd if=zImage of=dev/fd0 bs=512 conv=sync; sync \fR Substitute the disk image name for diskimage and the correct floppy device (almost always /dev/fd0), and repeat for each disk that you need. The dd arguments are:\fI if\fR for input file;\fI of\fR for output file, and here we want to use the floppy device;\fI bs\fR for block size, in this case 512 bytes;\fI conv=sync\fR ensures that the output file is exactly the same size as the input file. The trailing ``sync'' insures that we flush the buffers to disk immediately. .LP .IP " 25.1.5" 15 .ll 6i I normally use the method of simply copying a kernel, which I built, onto a disk formatted for the ext2 filesystem(option four): \fC mount /fd0ext cp /vmlinuz /fd0ext \fR .LP .fi .IP "26.0.0" 6 .ll 6i \fBWorld Wide Web(WWW) Pages of Note \fR .nf There is a\fI Mesa\fR WWW page: http://www.mesa3d.org/download.html There is a\fI Glut\fR WWW page for\fI Glut 3.6\fR: http://reality.sgi.com/mjk_asd/glut3/glut3.html You can get\fI Glut\fR from: http://sunsite.unc.edu/pub/packages/development/graphics/glut/ You can get an\fI OpenInventor\fR like toolkit called\fI Pryan\fR from: ftp://ftp.troll.no/contest/ You can get an\fI OpenInventor\fR like toolkit called\fI Apprentice\fR from: http://users.deltanet.com/~powerg/Apprentice/ You can get the\fI Qt\fR package which is necessary for\fI Pryan\fR from: http://www.troll.no/dl/qt-1.40.tar.html You can get\fI SGML\fR tools from: http://pobox.com/~cg/sgmltools This is where you can get\fI SLIRP\fR: http://sunsite.unc.edu/pub/Linux/system/Network/serial This is the page for\fI Yamaha\fR which will give you the Windows95 driver: http://www.yamaha.com/ycaservice/frame2.htm This is the page for\fI Real Audio\fR which will give you the\fI Real Audio Player\fR: http://www.realaudio.com This is the page for the PD440FX Intel Motherboard: http://support.intel.com/support/motherboards/desktop/PD440FX/ where I got software to upgrade the BIOS. This is where I got\fI Netscape\fR: http://home.netscape.com/download/download_1_1_141_1_4.06.html .LP .fi .IP "27.0.0" 6 .ll 6i \fBFTP Sites \fR .nf This is the ftp site for\fI Red Hat\fR which will give you the PnP tools: ftp.redhat.com/pub/pnp/utils/isapnptools-1.11.tgz This is the ftp site for\fI Glut 3.5\fR: ftp://sunsite.unc.edu/pub/packages/development/graphics/glut/ .LP .IP "28.0.0" 6 .ll 6i \fBSaved on Disk \fR .LP .IP " 28.1.0" 11 .ll 6i Disk\fI LINUX FILES TO SAVE I\fR .LP .TS tab(:); L L L L L L L L L L L L L L L. Xgood :Xgood5 :lost+found/ :xmatro~1.tgz* Xgood2 :Xgood6 :xf86co~1.tgz* :.config Xgood3 :Xgood7 :xfiggood :xorg.conf Xgood4 :Xgood8 :xfree.txt .TE .IP " 28.2.0" 11 .ll 6i Disk\fI LINUX FILES TO SAVE II\fR .LP .TS tab(:); L L L L L L L L L L L L L L L L L L L L L. .profile : install : options.old : ppp-on* : printcap afters.tgz* : installps : partition : ppp-on-dialer* : rc.serial* change.nf : X/ : ppp-off* : ppp-on-dialer.save* : resolv.conf fstab : options : ppp-off.save* : pppstats* : xinitrc* lilo.conf .TE .IP "" 11 .ll 6i The X/ directory above contains the following files: .LP .TS tab(:); L L L L L L L L L. .Xdefaults* : .Xdefaults1* : .Xmodmap.save* : xorg.conf .Xdefaults.swp* : .Xmodmap* : .fvwm95rc* : Xgood7 system.fvwm2rc .TE .IP " 28.3.0" 11 .ll 6i Disk\fI Linux Plug and Play\fR .LP .TS tab(:); L L L L L L L L L L L. isacon2 :isapnpbi.tgz :pnp4kern.tgz :sound.tgz isapnp.con :message :pnpkern.tgz :raplayer.tgz isacon1 :isapnp11.tgz :pnp021.tgz .TE .IP "29.0.0" 6 .ll 6i \fBCheap*Bytes\fR can be reached at: .IP " \fBAddress:\fR" 20 .ll 6i P.O. Box 2714 .nf Lodi, CA 95241 U.S.A .IP " \fBFax:\fR" 20 .ll 6i 209-367-8518 .IP " \fBHomepage:\fR" 20 .ll 6i http://www.cheapbytes.com .IP " \fBE-mail:\fR" 20 .ll 6i sales@cheapbytes.com .LP .IP "30.0.0" 6 .ll 6i \fBHarddrive Specs for Western Digital Hard Drive \fR From the web page: .nf http://www.westerndigital.com/support/FAQ/drvparms.html#caviar the two drives I own are: AC36400, 6.4GB EIDE UDMA AC33100, 3.1GB EIDE not UDMA .LP .TS tab(:); c s s s L L L L L L. .B Part Numbers (North America) .R Model :Capacity :Ultra DMA/33 Support 3100RTL :3.1 GB : No 4000RTL :4.0 GB : Yes 5100RTL :5.1 GB : Yes 6400RTL :6.4 GB : Yes 8400RTL :8.4 GB : Yes .TE .TS tab(:); c s s s s s s L L L L L L L L L L L L. .B PERFORMANCE SPECIFICATIONS .R Model :3.1 GB :4.0 GB :5.1 GB :6.4 GB :8.4 GB Buffer to Host - Ultra DMA/33 :N/A :33.3 MB/s :33.3 MB/s :33.3 MB/s :33.3 MB/s .TE .LP .IP "31.0.0" 6 .ll 6i \fBBasic I/O Information and Interrupts \fR .LP .IP " 31.1.0" 11 .ll 6i Here are some files in /proc/ that you should use to help configure the system: .LP .IP " 31.1.1\fC cat /proc/ioports\fR" 42 .ll 6i This gives you a listing of the I/O port usage. .LP .IP " 31.1.2\fC cat /proc/interrupts\fR" 42 .ll 6i This gives you a listing of the interrupts for each device. .LP .IP " 31.1.3\fC cat /dev/sndstat\fR" 42 .ll 6i This gives you a listing of what sound devices are recognized. .LP .IP " 31.1.4\fC cat /proc/pci\fR" 42 .ll 6i This gives you a listing of all the PCI devices which are recognized. .LP .IP "32.0.0" 6 .ll 6i \fBDOS and Windows 95 \fR The file /usr/doc/Linux-HOWTOs/Linux+Win95 has some good information on things to check within Windows. .IP " 32.1.0" 11 .ll 6i To see the version of Windows 95 that you are running, in a DOS shell do: \fC ver /r \fR When I did this, I got: .nf \fC Microsoft Windows 95 [4.00.1111] Revision A DOS is in HMA (C) 1981-1996 Microsoft Corporation. .fi \fR .IP " 32.2.0" 11 .ll 6i To determine what filesystem DOS is running on, run\fI fdisk\fR in DOS and select\fI display partition information\fR. This told me I am using FAT16. .IP " 32.3.0" 11 .ll 6i You can uncompress DOS zip files under GNU/Linux with\fI unzip\fR: \fC unzip (file).zip \fR .IP " 32.4.0" 11 .ll 6i To set the font size, open the\fI Control Panel\fR and choose the\fI Display\fR icon. Then select\fI Settings\fR, \fI Font Size\fR, and\fI Small Fonts\fR and set the\fI Custom Fonts\fR to 110%. .LP .IP "33.0.0" 6 .ll 6i \fBMiscellaneous \fR .IP " 33.1.0" 11 .ll 6i To see which version of a certain application you have installed, try adding a\fI -v\fR after typing the executable's name. Adding\fI -v\fR usually just means you are using the verbose option. For instance, to find out which version of\fI gcc\fR you are running, do a(from /usr/doc/Linux-HOWTOs/GCC-HOWTO): \fC gcc -v \fR When I did this, I got: .LP .nf \fC Reading specs from /usr/lib/gcc-lib/i486-unknown-linux-gnulibc1/2.7.2.3/specs gcc version 2.7.2.3 .fi \fR .IP " 33.2.0" 11 .ll 6i Inside the directory /var/log/packages are files which contain very important information on many of the packages you have installed. If you need to know the relevant directories for an application, look here first. .IP " 33.3.0" 11 .ll 6i To add words to your personal dictionary for the\fI spell\fR spellchecker, you can either add the words to the file /home/sanle/.ispell_englsh or you can run\fI spell\fR and type "I" for insert when the word comes up. Doing the latter will also add the word to /home/sanle/.ispell_englsh. .IP " 33.4.0" 11 .ll 6i The message you get when you open a shell comes from the program /usr/games/fortunes. You can read all of them in the /usr/share/games/fortunes/ directory. .IP " 33.5.0" 11 .ll 6i To submit a HOWTO, read the file /usr/doc/Linux-HOWTOs/HOWTO-INDEX. .IP " 33.6.0" 11 .ll 6i The email of Linus Benedict Torvalds is\fI torvalds@transmeta.com\fR. .IP " 33.7.0" 11 .ll 6i The monitor settings are: .TS tab(:); L L L L L L L L L L L L L L L L L L L L L L L L L L L L. Settings : Linux : Linux2 : Windows 95 Fq Fh KHz : 56.32 : 56.32 : 59.90 Fq Fv Hz : 69.80 : 69.80 : 74.9 Mode Name : VESA : VESA : VESA Resolution : 1024 x 768 : 1024 x 768 : 1024 x 768 Horizontal Size : 137 : 201 : 131 Vertical Size : 74 : 128 : 127 .TE .IP " 33.8.0" 11 .ll 6i The font setting in Windows 95 is small fonts 110% for 1024 x 768. .LP .IP " 33.9.0" 11 .ll 6i If you want a dos executable to be run from anywhere, copy it into c:\dos. This is the equivalent of the /bin directory in Unix. .LP .IP "34.0.0" 6 .ll 6i \fBDocumentation and Bibliography \fR Here are all the sources from which this document was created. .IP " 34.1.0" 11 .ll 6i \fBDocs on CD \fR .IP " 34.1.1" 15 .ll 6i On the\fB Cheap*Bytes Slackware 3.4\fR CDrom: .nf /cdrom/bootdsks.144/README.TXT /usr/doc/Linux-HOWTOs/Bootdisk-HOWTO /usr/doc/Linux-HOWTOs/Diald-HOWTO /usr/doc/Linux-HOWTOs/Disk-HOWTO /usr/doc/Linux-HOWTOs/DOS-to-Linux-HOWTO /usr/doc/Linux-HOWTOs/Installation-HOWTO /usr/doc/Linux-HOWTOs/Keyboard-and-Console-HOWTO /usr/doc/Linux-HOWTOs/Kernel-HOWTO /usr/doc/Linux-HOWTOs/Linux+Win95 /usr/doc/Linux-HOWTOs/PPP-HOWTO. /cdrom/dosc/Serial-HOWTO /cdrom/kernels/VMS-to-Linux-HOWTO.NOW /usr/doc/Linux-HOWTOs/XFree86-HOWTO /cdrom/kernels/README.NOW .fi In general, all the HOWTOs in the directory: .nf /usr/doc/Linux-HOWTOs/ .fi are very useful. .fi .IP " 34.1.2" 15 .ll 6i On the Intel PD440FX CDrom: /cdrom/readme.txt .LP .IP " 34.2.0" 11 .ll 6i A lot of documentation in general is in /usr/doc/. .IP " 34.2.1" 11 .ll 6i There are also several good sources of information in: /usr/src/linux/Documentation/ .LP .IP " 34.3.0" 11 .ll 6i The man pages are located in /usr/man/. /var/man/ also has a similar group of files. .IP " 34.4.0" 11 .ll 6i Again, I would like to recommend the directory /var/log/packages/ as a good place to start looking for information pertaining to a particular application. The files located here will tell you all the directories and files which service the package. .IP " 34.5.0" 11 .ll 6i Here are some books I've used: .nf \fR (1) Coffin, Stephen,\fI UNIX System V Release 4: The Complete Reference\fR, Osborne McGraw-Hill, New York, 1991. (2) Hekman, Jessica Perry,\fI Linux in a Nutshell: A Quick Desktop Reference\fR, O'Reilly & Associates Inc., Cambridge, 1997. (3) Parker, Timothy Ph.D et al.,\fI Unleashed: Slackware Linux 1997\fR, third edition, Sams Publishing, Indianapolis, 1997. (4) Robbins, Judd,\fI Mastering DOS 6: Special Edition\fR, SYBEX, San Francisco, 1993. (5) Tackett, Jack Jr. et al,\fI Special Edition: Using Linux\fR, QUE Corporation., Indianapolis, 1995. (6) Welsh, Matt and Lar Kaufman,\fI Running Linux\fR, O'Reilly & Associates Inc., Cambridge, 1996. .IP " 34.6.0" 11 .ll 6i \fBFrom the Internet \fR Web Pages .nf http://sunsite.unc.edu/LDP/LDP/gs/node4.html#SECTION004112000000000000000 http://sunsite.unc.edu/LDP/HOWTO/mini/Linux+Win95.html .fi And of course: .nf http://www.google.com http://groups.google.com .fi There is probably no greater resource than\fB google groups\fR for looking up specific error messages. Hopefully, you are able to get online access during the installation process. Usenet Groups .nf comp.os.linux.setup .fi .IP " 34.7.0" 11 .ll 6i \fBReading Lists \fR On the\fB Cheap*Bytes Slackware 3.4\fR CDrom, there are reading lists in the files: /usr/doc/Linux-HOWTOs/Reading-List-HOWTO For UNIX books, look at the file: .nf /usr/doc/faq/unix/[misc.books.technical]_A_Concise_Guide_to_UNIX_Books.gz. .LP .IP "35.0.0" 6 .ll 6i And just to drag this out a little longer, let me say that all the page setting in this document was done with\fI troff\fR, the greatest page setting utility I have ever used. If you have the ASCII version of this document with a bunch of funny looking codes, then you can process them through\fI troff\fR to see a nicely formatted version. .IP " 35.1.0" 11 .ll 6i To convert the postscript version of this file into postscript for printing, use: .nf \fC groff -ms -t -e installps | cat > install.ps gv install.ps & lpr install.ps .fi \fR .IP " 35.2.0" 11 .ll 6i To convert the nroff version of this file into an ASCII version, use: .nf \fC tbl installnf | eqn -Tascii | nroff -ms | cat > install.nf less install.nf .fi \fR