Hardware - Have yet to encounter a standard machine no matter how old or crappy that I couldn't install linux on - x86 hw, IDE controllers, serial ports. Exceptions - video cards, sound cards, Ethernet cards that are too old or too new. If it were to come up, it would take the form of something like a scsi or raid controller that wasn’t' recognized. Have to use a driver disk - boot up, linux dd, it will prompt you for the disk, which will hopefully have a module on it. Anaconda asks you if you're using a driver disk, and you just hit F2 - same thing. Server-class machine install for RHCE exam. Point that was on Sinner's syllabus was to briefly discuss SMP - never dealt with a box with more than 2, but should be the same. AFAIK, no special action is required during the installation - assuming they're available through the bios, both processors will be recognized. When OS is done, you'll have two kernels - SMP will be default, UP (uniprocessor) will be there as a failsafe. Unless it's disabled at a hardware level, don't think there's a lot of action required on your part as an administrator or installer to get SMP to work. Works out of the box; if it doesn't, it's probably a hw issue, deal with it in the BIOS. Jeremy once had a single-processor box get detected as SMP - installed with the SMP kernel and it worked. So SMP kernel supports uniprocessor machines just fine, just a little slower because of overhead of extra state information. Has a whole extra layer of processing talking about registers - has to keep track of which processes are on which register. Has a larger memory footprint because of all the extra code. Cat /proc/cpu to check the status of both processors when you're running. Steve Holton - if have dual-processor system and one fails, does it lock up the system until you reboot? Locks up completely. x86 was never really built with multiproc failsafe in mind; some Sparc hw will deal with it. On a sparc, does linux have the ability to disable? That's an hw thing - if you've got an electrical failure. Is there kernel support for that hw thing? Will it detect failed cpu and crash/halt or continue? Roy - RH 4.2 ran on Sparc20, had it shut itself down. Jeremy - Sun can say this is why Solaris is an enterprise OS, Linux isn't. hot-swap memory, PCI cards. Sinner - if hw is supported and kernel supports hotswap, you can do that in x86. Jeremy - kernel only scans pci bus on bootup. Sinner - like card services that support pcmcia… (general indecision) Peripherals - standard mobo, parallel, serial, PS2, USB 1.1 works out of the box. Stuff that can fail is - sound cards, especially older ones with certain chipsets - aureal, closed arch, nobody could reverse-engineer. Beta driver just before they went under, actually works for 1 or 2 of their 3 or 4 models of chips. Don't know that ISA cards are going to come into play very much. These days, unlikely to be on RedHat's test. One thing you might want to know about that is that I think from RHCT materials they had something in the study guide, if you were given certain things that you had to pass on to the kernel, you had to know how to pass on those params to the bootloader or linux space to run anaconda, or later on how to get that in GRUB or LILO. Common one is IDE=noDMA, when you have problems with cdrom drive because cdrom doesn't work well with DMA. Can put IDE=noDMA in your installer, and that'll get inserted to grub or LILO. May be told "pass this param on to the installer" but they don't tell you how to do that. IDE=noDMA is mentioned various places throughout the RH customization guide. Stuff for multimedia is not relevant to rhce. (cd burning, etc.) Three basic kinds of install - cdrom, network, hard drive. Cdrom is what most people do - boot the cdrom or if hw doesn't support bootable cdroms, use a boot floppy. Install from there, swap the disks out. Other type is network-based: nfs, ftp, http. NFS is the one that Jason uses most because convenient to him - looks, acts, feels like cdrom install. Can use graphical install, works the same. Advantage, if you have an nfs server with appropriate files, is that it's faster because you don't have to wait for a cdrom to go back and forth, don't have to swap out cds. Have to have a floppy unless you're really good with PXE. Can you put a CD in, get to a boot prompt, then do nfs install? Could burn a cd with the bootnet.img image in the bootable portion - 1.44Mb cd - and then do it. But can't do a network install from standard RH cd. Wouldn't be surprised if RH puts a different image on their main CD so that network installs are possible from the main cd. Can do yourself; appropriate considering Dell's announcement. Network installs, if you're doing ftp or http you can't do a graphical install. Will get the same end result, but have to use the curses interface. Graphical makes disk partitioning easier. Hard disk install: someone who has a Windows machine, gets this stuff. Jeremy downloaded all off Internet to Windows partition, made a Linux partition, and installed from the Windows partition. Don't even have to unpack the files - smart enough to just find the ISO images if pointed at the directory, and it will find them for you. Get it from the standard boot floppy, it asks you for the location of the files if you're doing a hard disk install. Gets used by people who don't have cd burners to create images. Can give a param to do a black&white install if greyscale isn't working. Must have 64Mb of RAM to do a graphical install; if less, will fall back to text-based. RH8.0 will work on 40Mb (7.3 will work on 32Mb). Can install RAM during the installation and take it out later. Do a minimal install, disable all services, could go as low as 16Mb. Might need to build a custom kernel. RH7.2 will run with 16Mb - won't run real fast, but it'll run. Still a 2.4 kernel - just have to put up with a lot of swapping. Rewritten anaconda is a lot slower than it used to be. If installing on an older system, be prepared to wait. Text mode is a LOT faster - not even frame, just VGA. Laptops - if installing anything on a laptop and you're not sure if the video is supported, always run text, especially if it's older. Study guide recommends doing all your installs in text mode. Gets very tedious for packet selection, a little cumbersome to do a weird partitioning scheme, but generally a good idea. Jeremy - deciding what packages to choose, if you can not install X, that'll save you a lot of time. If saving time when doing exercise, that stuff isn't relevant. Should be able to do every single thing on the test without needing a GUI. Boot Floppies: On CD1, directory called images. In there are at least 6 different floppy disk images. 3 are bootable - 1 is boot.img, this is used for a cdrom based installation or a hard drive based installation. If your machine doesn't support cdrom booting, will need this one. Bootnet.img, used for network installation. Basically the same except that when bootnet comes up, it'll prompt you for IP address or DHCP client, ask you for the server IP address and path. Has a slightly larger collection of NIC drivers. Pcmcia.img - used for installing on a laptop, if you're going to do a network install. If regular cdrom install, regular boot.img works as long as it can see the cdrom. Older laptop, no cdrom, pcmcia scsi worked under 5.1, 6, and 7. 8.0 doesn't recognize - done pcmcia, even pcmcia dd, no dice. Jeremy - only certain amount of space on the disk - old drivers fall off the backend as new. Could probably use the pcmcia dd from a 7.3 install. List of modules, but aren't compiled with the same kernel. Could probably get it to work, but best bet is to make your own driver diskette with the modules you need. Does the bootnet floppy have 802.11 drivers? Don't think so. Pcmcia might - would be there. Google for redhat install wireless, or put feature request in bugzilla. 3 disk images that are not bootable, contain drivers. Driveblk.img, supplemental block device drivers - scsi cdroms, most common use is scsi host controller for server-class installations. Fairly common use, although most new servers will come with its own downloadable. Bootnet.img doesn't have scsi host controller modules, only boot.img - that's what they took off bootnet.img to make room for the network drivers, that stuff went into driveblk.img along with other stuff. Other is drivenet.img, this contains primarily NIC drivers. Bootnet contains nic drivers for half dozen common cards - intel eepro, realtek, intel 3c509, dec, etc. AMD cards that use the PCI something-or-other chipset. Pcmciadd.img, similar to drivenet, contains primarily pcmcia network card drivers. If you've got a laptop with off-the-wall cardbus or pcmcia nic, may be on there. To create a disk from any of these, use the dd command dd if=filename of=/dev/fd0. don't need the bs argument (blocksize) - steve says yes. Can put a whole bunch of things in there, all seems to work fine. Input blocksize can be default, specify obs (output blocksize) instead. Floppy driver will override anyway. Greg uses 18k because floppy uses 18k tracks. Writing a block track at a time, your I/Os don't overlap, don't have to break it up in the driver. Floppy device doesn't have any configurable options - for other things like tape drives that makes a difference, but for this purpose it's irrelevant. Can also use rawrite. Whatever bs you specify, as long as you don't specify params such that you get less than the entire image, it'll work. If you find yourself taking the test, don't worry about that argument. Main reason to do bs=1440 is so it does a single write / single read. Floppy drive is such a bottleneck, won't matter. Never do a dd copy to a floppy while you are trying to scopy the same image to a different server - bad things can happen. Network installation server: Rimmer is sitting in another room, acting as NFS server for the evening. Set up for network install: Unalias ll \ls will remove all aliases In home dir, create a directory RH80 Only thing required for network install is on all 3 CDs is a directory called RedHat. Within that is another subdir calls RPMS. That RPMS dir is really all that you need. Have to have the base on the first one, too. Easiest way to do this: copy the contents of the first cd to whatever dir you're going to make. Copy the whole first cd over. Take it out, put in CD 2, only copy the RedHat/RPMS/* to your RPMS dir. Repeat for CD 3. Can save drivespace using the ISOs - download, mount each ISO on a loopback filesystem, and create another directory and create symlinks back to all of the RPMs so they all get into one directory that way, then export that via http/ftp/nfs. Once all the files are in this directory, make that available via nfs. In /etc/exports, /home *(ro, no_root_squash) make sure portmapper and nfs are started - service portmap (re)start, service nfs (re)start service nfs status to check on it, make sure you can see it. Ipchains, anything special you have to do? Open what ports? Roy - just turn off your firewall - bitch to get through ipchains because uses portmapper to redirect the port. If use shorewall firewall, can allow it through iptables. Or put your subnet instead of a * so nfs will only work on your subnet. network install, NFS, use a dhcp client or specify an IP address? Specify nfs server name and directory. Server name can be resolvable DNS name or IP address. Directory is directory containing the parent folder RedHat. /home/RH80 in this case. If get it wrong, it'll tell you can't find that. If you switch to another console, will see where it tried to mount, what it was looking for, what it couldn't find. Console 3. if do an http install, might give you the error code (i.e. 404) chris woodbury needs Slot1 PII mobo loading binary across the nfs server. If have bizarre off-the-shelf hardware, when you boot the floppy, might want to say linux noprobe - Jason had one machine that when you probe it, it freezes. (RH80 still supports the expert mode? Yes.) noprobe is X stuff, network cards, scsi - doesn't probe your hw at all. It defaults to nothing, prompts you to choose. Linux does driver detection by inserting modules until one fits. If doesn't fit, should back off and go on to next one; sometimes can crash. Generic 2-button mouse pretty much always works. Logitech mouseman plus drivers work in 8.0 Once you're into install, 4 classes of installation - personal desktop, workstation, server, and custom. Differences - how disk is partitioned, what packages are selected. Workstation includes compilers, personal desktop does not. Server doesn't include X, does install server daemons, doesn't install compilers. Only workstation installs developer tools. Also upgrade; if have a previous version, reads config file and upgrades all your RPMs with -u and -f. Disk partitioning: automatic partition, depending on what class you've chosen. Server will do separate partition for /boot, /, /usr, /var, /home. Workstation / personal desktop, just does /boot, /, swap - custom does the same. Recommended swap size - 1-2 times your RAM. If have a ton of memory, won't need as much swap - if have less RAM, need more swap. Better off with too much than too little. Large swap partition takes more time to access than small - if you have 512Mb of RAM, only need 512Mb of swap. Disk druid: Fdisk has moved into the realm of deprecated. Two 2Gb WD hard drives. Partitioning - not necessary, but every automatic install makes a separate /boot partition. Can skip it, will work fine unless you have another OS on the disk. Make 100Mb, 95% not used - if you start 5 or 10 kernels, may need it, but can probably get away with 50Mb. 100Mb boot disk on hda one case where you do need a boot partition is if you're doing RAID5 or RAID0 on your / partition because has to be able to load the driver for RAID, same with LVM. First case, create a 4Gb virtual partition out of 2 2Gb disks. Select software RAID on hda, select constituent members of a software RAID. Can't add a mount point to any of these because these are just RAID constituents. now that you've partitioned your disks with these, click on RAID, create a RAID device - container or array that holds these members. With RAID, it becomes /dev/md0 - metadevice - RAID level - 0, 1, 5 O is striped, 1 is mirrored, 5 is parity. 1+0 or 10 is striped plus parity. Select your RAID members, 2 disks, choose both. Choose FS type, mount point. Selecting /, will see that bootable partitions can only be on a RAID 1 device. If RAID 0, striping across the whole thing - when kernel loads, doesn't have modules, they're on the disk. Does work with RAID1 because it's mirrored, so it has access to at least 1 full copy. If want to use RAID0, have to create a non-RAID section for the boot partition. On second disk, is first 100Mb sitting there unused? RAID partitions have to be the same size for 1 and 5. For RAID 1, 100Mb on second disk is completely wasted, could use it for swap. If going to do RAID1 or RAID5, make all constituent partitions the same size, or least common denom will be used as size. Make swap that partition on the 2nd disk to fill up the space. If select RAID1, try to create it with /, it'll take it because it's mirrored. Have 2 physical HDs, RAID device /dev/md0 mounted at root, file type ext3 - virtual device. As far as OS is concerned, it's a 2Gb hard drive under the RAID layer. With RAID 0, you get twice the disk space using 2 drives. With RAID 1 you get half the capacity. With RAID 5 you get N-1 capacity. RAID 0 gives you less redundancy than non-RAID because if you lose 1 disk, lose data on both disks. RAID0 gives you less fault tolerance than JBOD. Only reason to use RAID0 is for performance on a machine you don't care about that's being backed up hourly. Never put anything critical on RAID0. If have 3 disks, could do the same thing and make it RAID5, 4Gb total. RAID5 on an IDE system sucks a lot of CPU cycles. Software mirroring - RAID1 - could talk myself into that - RAID5, not so much. Use Promise controller, or better yet, go SCSI. Promise controller is hw, looks like an IDE drive. Onboard Promise chips that some of the later mobos are garbage. All sw RAID anyway. Can you define 2 1Gb RAID partitions on each of those disks? Could you use 3 of those to build a software RAID5? Jeremy - 2 things you could do. Have completely separate RAID areas, or have multiple of those md devices on a RAID area. Could have a separate RAIDed /, /home. Jason - can only put one filesystem on one RAID device. Can't select the size - it's a partition by itself. With LVM, can do that. For LVM, want to make sw RAID, want to make / and /home separate, select disk, create 2 different sizes. 2 partitions on each disk defined, each one is a sw RAID constituent. Now, define RAID device, 4 possible members, only choose 2 of them - 1Gb on each drive. Make RAID1 device, mount that as root. Can choose other 2 RAID constituents, make a RAID0 device. Or could pick 3 of those and make RAID5. Could have RAID5 on one physical disk, would decrease performance because would be adding up all that parity for no reason. If you want to do what Jeremy said and have different partitions, have to create individual RAID constituents and make individual RAID devices to do that. Have a feeling that something like this will be covered on the RHCE exam - do software mirroring, set up partitions in a particular way, or say something like this machine will be a webserver, partition as best you think. Development server - you want big swap, webserver you want to have big /var, database server, want a big /var, maybe striped assuming it'll be backed up. Database server, make a large /opt. (/opt doesn't exist as far as RHCE exists) LVM sounds and feels like RAID - not about performance or fault tolerance, about flexibility. But could put it on top of those RAID1 base partitions. Disk druid will do that for you. You can't boot directly off LVM, still have to have your kernel in a separate /boot. With LVM, you start by making physical volumes. Rather than software RAID - under filesystem type. Making constituent members of the volume. Make 2 1Gb physical volumes on hda, 3rd 1Gb volume on hdb. Hit LVM, gives you the option of choosing volume group name. Default is volume00. can also choose physical extent size - physical extent is like the stripe size in RAID, 4Mb blocks / stripes. Default works 95% of the time, might make smaller if having tiny files, larger for massive files. Choose physical volumes, use all 3. define our logical volumes - like adding partitions without LVM - click add, choose a mount point, fs type & size - have 3Gb, choose root partition, make it 2Gb. Add /var - 500Mb, make the rest swap. Jeremy - Don't you want swap outside LVM because swap is a raw access? Yes. Still need a /boot, should do that beforehand. Had defined 3 1Gb partitioned, combined them into 3Gb volume group, inside that volume group define logical partitions. If doing without LVM, put / on hda and /var and /tmp on hdb, can't resize. With LVM, can resize according to need. If you create a server originally for web, make /var huge, then want to reallocate as fileserver, can change logical volume size on the fly. Can shrink / grow within the volume group. Have to use the ext3 resize tools, not as simple as dragging and dropping. Have to unmount, but don't have to rebuild server from scratch. Have to resize fs with e2fs editor. Tricky, but do-able. Another thing you can do with LVM, haven't defined this whole Gb of space - 6 months from now, can create another physical volume, add it to volume group, grow other partitions. Can add another hd, a RAID array, and expand existing partitions. If have extra 18Gb hds to add to TriLUG server, have LVM on there, can have them mounted. Have mostly 9Gbs now, box is full. Last thing you can do with LVM is snapshot - freezes fs at some point in time, can back it up while still accessing. Creates a temporary space like a db, any blocks that are changed are written to the temporary space, and restore to them. (System restore points). Ability to do that on Pentium workstation is sweet. J Idea with LVM is can do this snapshot idea - take picture of filesystem and back it up without having to take it offline. Snapshot is absolutely instantaneous - copying a big disk might take 5min, things may change. Temporary space where uncommitted things are written, as long as it doesn't get filled up, you're fine. That space is defined, disk druid won't set up for you - set up size of temp space, if gets to point where temp space is filled, alarm bells go off. Product of size of that space and how busy is your machine. As long as your machine isn't so busy that it fills up the temp space before you finish the backup, you're fine. Open files, locked files? Hopefully backup tool will be low-level enough to get locked files. Something an app has locked could still be in inconsistent state because not smart enough to tell the app that I'm snapshotting. If filesystem is changing while you do the dump, can trash your backup. Restore your backups!! Combining RAID and LVM - taking 100Mb of each disk, make it sw RAID. Md0, RAID1 so will be bootable, mount it as /boot with these 2 members. Don't have to put swap outside LVM - but you should!! Make 2 RAID1 volumes out of everything else, 1 RAID1 md1, build LVM on top of that. /dev/md0 is /boot, 100Mb. /dev/md1 is RAID1 volume, 1.9Gb. Make LVM - volume group only has 1 physical volume, md1. Build root and everything else in here. Hard drives are physical devices, RAID logical devices, on top of logical RAID devices are virtual LVM partitions. Have the fault tolerance of RAID with the flexibility of LVM - if you lose a disk, it can be replaced; if add disks, can add them to the volume group. Downside is this all requires CPU - don't do this on a P75. Only a little about dual-booting, don't know if likely to come into play in the exam. Dual-booting isn't that hard, anaconda does most of the work for you. Always install the other OSes first - windows doesn't play nice, so has to think it's the only thing installed. Don't use the whole HD for Windows unless you have a 2nd hd. Unlike some other software distros, RH won't let you resize on the fly (like suse or mandrake). If you have an NTFS partition, you're screwed with FIPS - partition magic 6 and 7 will modify NTFS and so does newest FIPS. Doesn't run from within the installer - be careful with XP, doesn't like partition sizes to change once they've been registered. Slightly different version of NTFS - how it reports back to MS - if you have a select agreement, doesn't report back. Anaconda will detect that you have partitions with other OSes, give you the option of working around them - if you do an automatic, don't say delete all - won't do that by default. If partitioning manually, work around the partition in place. When installing the bootloader - depending on how your system is configured, may require tweaking. Generally speaking, will have multiple entries - check the default one you want, and it will just work. It will DTRT if you let it. By default it uses grub as the bootloader instead of lilo, can change it there if you want. Jeremy - comment on dual-boot, when you're on disk druid doing partitions you can assign a mount point within linux (for FAT32, won't let you mount NTFS. Have to recompile the kernel to mount NTFS read-only). If you're going to dual-boot, make damn sure you have a boot floppy - sooner later windows will overwrite the MBR and you'll be SOL. If compiling your own kernels, make a boot floppy. (Can use rescue mode off the cd.) Kickstart: Big on the exam. Not on the RHCT outline, but know it's on the RHCE. Cover basics now - can make this the agenda for IRC next week. Find anaconda-ks.cfg in /root directory. That is a kickstart file based upon the installation you did. Doesn't work out of the box - can't simply copy and expect it to work, but most of the basics are there. Good way to see how it treats your selections. Graphical utility redhat-config-kickstart lets you choose all the options, will make a kickstart file for you. Close, but not 100% usable - always have to check it. Find by trial and error - on the RH doc cd (Disk 5), there's a directory called docs, in there is a file called sample.ks - that is a great file to have because it covers most of the options for you, in comments are most of the other options. Don't use Jason's from his notes - screwed up linefeeds in text2html conversion. Documentation is not terribly consistent, differs from release to release. Stick with whatever release you're working with - if need 8.0, build from 8.0 docs. Documentation is in the customization guide - if there are people who like reading printed stuff, buy the RH.com doc set for $30. Pretty good - those will document the RH way of doing things - same wording that will be on the exam. Some of the best kickstart configs come from Duke. Basic notes: Some things are required, some things are optional. Sample.ks will tell you which is which. If something is omitted if it's required, you'll be prompted for it. Want to have a preset set of configs, then leave some up to the user, can do that. Let it do as much or as little as you want. Order counts! You can't put things in out of order and expect them to work. Some things can work ahead or behind other statements, throw something in the middle and it won't. Generally speaking, use the sample.ks or anaconda.ks as your template, keep things in the order that they say. If it doesn't work, it'll fail and give you some sort of python error, if you scroll down to error messages, last line will tell you which line in the ks file gave you the problem. Works with any type of installation, kickstart file can reside on a floppy, cd, or network server. Quickly do an install from a working kickstart file on the server in the back. Booting from bootnet.img - have a kickstart file on the bootnet.img, one that Jason placed there. Has a little bit of free space, just enough room for a kickstart file. Mount bootnet.img, copy kickstart, unmount. Simplest way to invoke is put on your floppy disk, and invoke by running linux ks=floppy. If you don't put a filename, it assumes the kickstart file is ks.cfg Can use linux ks=floppy:/anaconda-ks.cfg (check this) Can put that on the floppy so you don't have to type it in or hit enter - edit syslinux.cfg - can mount the iso, edit the syslinux.cfg - can do it byte-for-byte or with a hex editor. Not normal. Won't ask you anything - all answers are in file, don't have to press another button. Using the file listed in jason's notes. In the kickstart file, put in magic word interactive, it'll take your config as default but require people to say yes at each step. Similar to jumpstart in solaris. Linux ks=nfs:: will get network info from dhcp Can do it with a static IP - has options to set IP, netmask, default gw, primary nameserver Can do a loopback mount and export that via nfs, but can't just nfsmount an iso because nfs mounts a filesystem. If you have multiple network cards, can't specify which network card to use - will only configure eth0 via dhcp or static. If want to do everything off eth1, out of luck with RH8.0 If you're clever enough, you can have a workstation that can get its information from PXE and get its config file that way - do a workstation install with nothing doing a net install if you have a NIC with PXE, have DHCP server, NFS server, PXE server. Sparc likes doing it that way. Mike Johnson with 7.3 could do an ftp install using kickstart off Chris hedemark's server, no keyboard, doing a serial connection. Installfest last year at Durham tech. Had big kickstart server, someone brought in a sparc with no monitor, keyboard, mouse - installed on a sparc5 via serial. Had sparc5 images on the drive. How to pass those params automagically? On any of the bootable cds, file called syslinux.cfg - contains your various options when you boot. F1 is basic, 2 is expert, 3 is no frame buffer, etc. F7 or F8 will give you a picture of the anaconda.