Presentation is loading. Please wait.

Presentation is loading. Please wait.

Drivers and the kernel1-1 Drivers and the kernel UNIX system has three layers: m The hardware m The operating system kernel m The user-level programs Kernel.

Similar presentations


Presentation on theme: "Drivers and the kernel1-1 Drivers and the kernel UNIX system has three layers: m The hardware m The operating system kernel m The user-level programs Kernel."— Presentation transcript:

1 Drivers and the kernel1-1 Drivers and the kernel UNIX system has three layers: m The hardware m The operating system kernel m The user-level programs Kernel m Kernel hides the hardware, provides a abstract, high-level programming interface Process Signal and semaphores Virtual memory The filesystem Interprocess communication m Kernel contains device drivers that manage its interaction with specific pieces of hardware. m Size of kernel

2 Drivers and the kernel1-2 Kernel types Provide the kernel with explicit information about the hardware Depend on kernel prospects for devices on their own m Solaris: almost completely modular kernel m HP-UX: supports a relatively small and well- defined hardware base m FreeBSD: must be told explicitly at kernel compilation time about device m Linux: limited module support

3 Drivers and the kernel1-3 Kernel types Kernel build directory and location by system SystemBuild Directory Kernel Solaris/kernel/unix HP-UX/stand/stand/vmunix Linux/usr/src/linux/vmlinuz or /boot/vmlinuz FreeBSD/usr/src/sys/kernel

4 Drivers and the kernel1-4 Why Configure the kernel Generic kernel m Many device drivers m Optional packages Tailor the kernel for your need m Less memory m Well-tuned configuration Add support for new types of device m Some system is simple m Some may need to several steps. Read this: m Building the kernel is not difficult; its just difficult to fix when you break it. m Get a good reference book for your OS

5 Drivers and the kernel1-5 Configuring a Solaris Kernel Structured around loadable modules m Modules are stored in subdirectories of /kernel Current system configuration m Display loaded modules: modinfo [-c] m Show hardware configurations: prtconf m Display loadable modules, hardware configuration and some tunable kernel: Sysdef

6 Drivers and the kernel1-6 Configuring a Solaris Kernel Automatic configuration m Probe device and initialize a driver for each device The Solaris kernel area m /kernel Modules common to machines that share an instruction set m /platform/platform-name/kernel Modules specific to one class of hardware Platform example: ultra1, SUN-blade-100 Command: uname -i m /platform/hardware-class-name/kernel Modules specific to one class of hardware For example: sun3u, sun4u Command: uname –m m /usr/kernel

7 Drivers and the kernel1-7 Configuring a Solaris Kernel m Subdirs under each kernel dir: drvloadable modules for device drivers Note: you can specify the device specific configuration parameters here. miscLoadable object files for misc kernel routines cpuCPU-specific module for the UltraSPARC strmodSTREAMS modules schedOperating system schedulers sys loadable system calls fs Filesystem-related kernel modules

8 Drivers and the kernel1-8 Configuring a Solaris Kernel /etc/system m Master configuration file Take a look at your /etc/system in the lab –Long dev name comes from the link –Force to load certain module –Set the search path –Non default values for variables can be added with set command »Example: set maxusers=40 m Consulted at boot time Specify another /etc/system with boot –a Or boot with /dev/null if no good copy –You will be prompted to answer questions

9 Drivers and the kernel1-9 Accessing New Device Drivers Solaris drivers are usually distributed as a package m Run pkgadd Should you add new device drivers they should be installed in /kernel. You can m add drivers with the add_drv command, then run drvconfig m remove them with the rm_drv command. m Once the driver is installed and the new device connected reboot the system with: Ok boot -r

10 Drivers and the kernel1-10 Accessing New Device Drivers m Alternatively, you can create the file /reconfigure before rebooting. The kernel will then be reconfigured during the boot process. # touch /reconfigure # reboot m One of these procedures is required for all drivers not installed initially. It causes the kernel to properly recognize the new drivers during the boot process.

11 Drivers and the kernel1-11 Building an HP-UX kernel Use SAM for the first few time Kernel configuration file /stand/system Run mk_kernel to rebuild the kernel Copy the new kernel in place to /stand/vmunix

12 Drivers and the kernel1-12 Building an Tru64Unix kernel Digital UNIX recommends that you be in single user mode when building the kernel. m cp /vmunix /vmunix.save save the old kernel m cp /genunix /vmunix install the generic kernel to be the running kernel m /usr/sbin/shutdown -r +5 reboot the system m /usr/sbin/shutdown +1 Log on as root and take the system down to single user mode m mount /usr remount the /usr file system

13 Drivers and the kernel1-13 Building an Tru64Unix kernel m /usr/sbin/doconfig – you will be prompted for system configuration information. If you need to edit the resulting configuration file answer "yes" at the prompt. The new kernel will then be built and the path to it will be displayed. m mv /sys/{hostname}/vmunix /vmunix move the kernel from the path displayed in the step above to the root directory m /usr/sbin/shutdown -r now reboot the system m If the system fails to boot you can reboot to single user mode using the generic kernel (/genunix) and try again. The master configure file is /etc/sysconfigtab

14 Drivers and the kernel1-14 Configuring a Linux kernel Save the current kernel m #cp /vmlinuz /safe Save the current kernel source if applys m #cd /usr/src; tar zcvf old-tree.tar.gz Unpack the source code and apply the patches m #cd /usr/src m # tar xvfz XXX.gz m # zcat YYY??.gz | patch –p0

15 Drivers and the kernel1-15 Configuring a Linux kernel Use tool m make menuconfig m make xconfig m make config Building the linux kernel binary m Run make xconfig/menuconfig/config m Run make dep m Run make clean m Run make bzImage m Run make modules m Run make modules_install m Copy image file to /boot/vmlinuz m Config lilo/grub about the new kernel

16 Drivers and the kernel1-16 Configuring a Linux kernel /proc m Allow to view and set kernel options at run time m Are not remembered across reboots

17 Drivers and the kernel1-17 Loadable kernel modules in Linux Check the currently loaded module m Run lsmod Insert module m Run insmod/modprode m Can only be removed explicitly Remove a module m Run rmmod

18 Drivers and the kernel1-18 Summary Again, what we covered here does NOT intend to give you exact step by step instructions for a particular OS on a particular platform m The basic flow/idea remains same for a relatively long period of time for particular vendor. m Things change from one release to another and vendor to vendor m Check the vendors latest documents for: Release notes New feature updates Installation and upgrade documents System administration documents …


Download ppt "Drivers and the kernel1-1 Drivers and the kernel UNIX system has three layers: m The hardware m The operating system kernel m The user-level programs Kernel."

Similar presentations


Ads by Google