Week Nine Agenda. Announcements Final exam will be longer, and more specific Document your text files (4 th _log.txt, startup.txt) Link of the week Review week eighth lab assignment Week nine expected outcomes Next lab assignment Break-out problems Upcoming deadlines
This Web site contains information on:
- Evolved firmware uses
- Firmware and device drivers
- Firmware support challenges in PCs
- Firmware hacking
Download driver updates automatically and safely. This software utility will keep your system up-to-date by automatically retrieving the latest drivers from your hardware’s manufacturer.
Define Firmware: A computer program that is embedded in the hardware device. Firmware can be stored in flash memory or as a binary image file that can be uploaded onto existing hardware by a user. In summary, firmware is a combination of hardware and software.
Firmware applications include the following:
- BIOS found in IBM-compatible PCs.
- Open Firmware, used in computers marketed by Sun Microsystems and Apple Computers.
- Computer peripherals
- The iPod’s control menus.
- Automobiles employed on-board computer and various sensors.
- Cisco IOS
American National Standards Institute (ANSI)
Comprised of Government agencies, Organizations, Companies, Academic and International bodies, and individuals, the American National Standards Institute (ANSI) represents the interests of more than 125,000 companies and 3.5 million professionals.
The /etc/sysconfig directory contains files that control the system configuration.
Used to configure the system clock to Universal Time and other clock parameters.
This file controls how the system will appear and function during the boot process..
Used to configure the keyboard.
This file is used to specify information about the available mouse.
Used to configure networking options.
This file is executed after the other init scripts. Put commands that performs some system customization.
- The fstab file is read by software applications. It is the duty of the system administrator to create and accurately maintain this file.
- Each file system is described on a separate line.
- Fields on each line are separated by tabs and spaces.
- # comments
- The order in which these records are listed is important.
/dev/vg00/root / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
/dev/vg00/home /home ext3 defaults 1 2
/dev/vg00/opt /opt ext3 defaults 1 2
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/vg00/tmp /tmp ext3 defaults 1 2
/dev/vg00/usr /usr ext3 defaults 1 2
/dev/vg00/var /var ext3 defaults 1 2
/dev/vg00/swap swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
/dev/vg02/shome /export/home ext3 defaults 1 2
#/dev/vg01/oracle /mnt/pkg1/oracle ext3 noauto 1 2
#NOTICE: oracle and shome are shared storage. Make sure they are not mounted # on the other side before mounting.
Field description of /etc/fstab
1st field describes the block special device or remote file system to be mounted.
2nd field describes the mount point for the file system.
3rd field describes the type of file system.
4th field describes the mount options associated with the file system.
5th field describes which file systems will need to be dumped by the dump() command.
6thfield is used by fsck to determine the order in which the file systems are checked at boot time.
File systems are usually mounted read-only. This makes it possible to check the file system while it is mounted; it is not a good idea to check a file system that is mounted read-write.
The file systems file contains available file systems support in the kernel and whether or not they are in use on a block device.
The exit code returned by fsck is the sum of the following conditions:
0 - No errors
1 - File system errors corrected
2 - System should be rebooted
4 - File system errors left uncorrected
8 - Operational error
16 - Usage or syntax error
32 - fsck canceled by user request
128 - Shared library error
Rpm Package Manager
Red Hat Package Manager (rpm) is a package management system.
Free software tool which installs, updates, uninstalls, verifies and queries other software packages in this format.
1. Used in a uniform way for the user to install programs
2. Uninstalling programs is simple
3. Non-interactive installation makes it easy to automate
4. Original source archive (e.g. .tar.gz,.tar.bz2)
5. Packages can be cryptographically verified with AES, and MD5.
A file format is a particular way to encode information for storage in a computer file.
Disk drives or computer storage are represented in bits. A computer must convert information to 0s and 1s and vice-versa.
A computer file format can be represented as either a binary image or ASCII file.
ASCII is used on most PCs and Macintoshes.
EBCDIC (Extended Binary-Coded Decimal Interchange Code is an IBM code for representing characters as numbers. IBM uses EBCDIC widely on large computers.
Binary image files represent 256 different binary codes.
Extended ASCII consists of 128 decimal numbers and ranges from 128 through 255 representing additional special, mathematical, graphic, and foreign characters.
Provide students handouts.
Binary image files use to be able to represent more character codes than ASCII because eight bit bytes were used, whereas ASCII files used seven bits. Now Extended ASCII uses eight bit bytes and can represent 256 character
Executable software, mostly word processing files and databases, spread sheets and multimedia files are binary. However, text and source program files as well as HTML and XML files are ASCII.
The Internets SMTP mail protocol supports only ASCII. When a binary file is attached to an email message, the 8-bit format is converted to a temporary 7-bit format to pass through the mail servers. Encoding formats such as MIME, at the receiving end converts the 7-bit format back into 8-bit binary format. The 8-bit to 7-bit conversion makes files larger as they traverse the Internet.
Different file formats for different kinds of information.
JPEG format – designed to store static photographic images.
GIF format – designed to store still images and simple animation.
QuickTime format – designed as a container for many different types of multimedia.
Upon successful completion of this module, the student will be able to:
Initializing or Booting a System
Linux Boot Procedure
1. The system startup stage depends on the hardware device that Linux is being booted on. Floppy disk, CD-ROM, a partition on a hard disk, a device on the network, or a USB flash memory stick. Linux is usually booted from a hard disk.
2. After the system locates the boot device, the first part of the boot loader is loaded into RAM and executed. Normally, the first part of the boot loader is less than 512 bytes and is responsible for loading the second part of the boot loader.
Linux Boot Procedure
3. The first 446 bytes are considered the primary boot loader, which contains both executable code and error message text.
4. The second sixty four bytes are the partition tables, which contains a record for each of the four partitions.
5. The last two bytes are the magic number which serves as a validation check of the Master Boot Record (MBR).
Linux Boot Procedure
6. When the second part of the boot loader is loaded into RAM and executed, a pop up
screen displays Linux and the optional initial
RAM being loaded into memory.
7. The second part of the boot loader is called the
kernel loader. After the boot images are loaded,
the second part of the boot loader passes
control to the kernel image. At this point, the
kernel is decompressed and initialized.
Linux Boot Procedure
8. The second part of the boot loader checks the system hardware, lists attached hardware
devices, mounts the root device, and loads the
Master Boot Record (MBR)
The MBR is not located in a partition, it is located at a Main Boot Record area in front of the first partition.
When a data storage device has been partitioned with the MBR Partition Table scheme the master boot record contains the primary partition entries in its partition table.
By convention, there are exactly four primary partition table entries in the MBR Partition Table scheme.
The following directory contains the different Linux boot loader and alternate loaders:
The Linux Loader (LILO) is the combination of parts one and two boot loaders. Because of some disadvantages in the LILO loader, the GRand Unified Bootloader (GRUB) has become more widely used.
Display a list of available kernels with soft links from /etc/grub.conf and /boot/grub/menu.1st.
This is a symbolic link to /boot/grub/grub.conf
First process to execute in user space
Process ID: 1 (one)
Parent Process ID: 0 (zero)
Demonstrate: pid_ppid.sh (use two putty windows)
Highlight the relationship of the init process to all other executing processes.
The /proc directory contains a wealth of information on executing hardware and various software processes on the system.
There are some well-known files virtual files in /proc. Included are:
/proc/cpuinfo, which prints out information on the running CGU(s)
/proc/meminfo, which prints out information on installed memory
/proc/cmdline, is a file containing the command-line used to execute the program.
In addition, within the /proc directory are a few numbered directories, which correspond to executing processes. Inside each directory are several files that provide information regarding the process. For instance, /proc/1 would contain information on process one (1), which is typically the init process.
Demonstrate: List symbolic links cwd, exe, and root.
/proc/1/cwd symbolic link points to /
/proc/1/exe symbolic link points to /sbin/init/proc/1/status file indicates the status of the program, which can be used to determine if a program is sleeping or a zombie process, the amount of memory it’s using, the number threads, the user/group privileges it is running as, and more.
Linux Performance Tools
sar command is performance monitoring tool. It can find out what Linux is doing all the time. It can generate report and email them to sys admin.
vmstat command that reports information about processes, memory, paging, block IO, traps, and cpu activity.
free command displays the total amount of free and used physical and swap memory in the system, as well as the buffers used by the kernel.
Linux Performance Tools
iostat command is used for monitoring system input/output device loading by observing the time the devices are active in relation to their average transfer rates i.e. it is useful to monitor disk throughput.
Linux system run level modes
0 - Halt system
1 – Single user
2 – Multi-user mode
3 – Full multi-user
4 – unused
5 – X11
6 - Reboot
Review the Startup/Shutdown lab assignment
init.d rc0.d rc2.d rc4.d rc6.d rc.sysinit
rc rc1.d rc3.d rc5.d rc.local
rc rc4.d init.d
rc0.d rc5.d rc.sysinit
Debian created a file called /etc/rc.local which runs at the end of all the multi-user boot levels, and which you can therefore put stuff in.
Rc.local file content.
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if #you don't want to do the full Sys V style init stuff.
Activities managed by the kernel
Responsive - users
Autonomous - daemons
The kernel consists of a collection of low level procedures. These procedures are called system calls and they are the primary means for a program to interact with other parts of the system.
Explain the difference between the K and S as a script prefix.
Execution of the newuid.pl and process.sh scripts
Provide examples of pids and ppids (pid_ppid.sh)
df (disk space usage)
df –i (file system inode utilization)
history (list commands previously input)
tail (read records at end of file)
head (read records at start of file)
ls–li who am i
Lab Assignment 13-1 Public Domain/Open Software Evaluation
Bulletin Board: Open Source Presentation Sign Up
No two presentations shall be the same.
Lab assignment grade components.
Paper: 0 – 75 points
Presentation 0 – 25 points
December 7 (week 14)
December 14 ( week 15)