CSCI-3753: Operating Systems Fall 2018

CSCI-3753: Operating Systems Fall 2018

CSCI-3753: Operating Systems Fall 2018 Anh Nguyen Department of Computer Science University of Colorado Boulder PA 1 – Notes CSCI 3753 Fall 2018 2 B. Download Linux Source Code Step 4: • CU CS Virtual Machine - Fall 2018 Edition sudo apt-get source linux-source-4.15.0 • CU CS Virtual Machine - Old Edition sudo apt-get source linux-image-$(uname -r) • NOTE: The name of downloaded kernel should be linux-hwe-4.15.0 CSCI 3753 Fall 2018 3 C. Compile the Kernel Step 2: • CU CS Virtual Machine - Fall 2018 Edition à SKIP Step 3: • CU CS Virtual Machine - Fall 2018 Edition sudo cp /boot/config-$(uname -r) .config • CU CS Virtual Machine - Old Edition sudo make localmodconfig CSCI 3753 Fall 2018 4 Week 2: Loadable Kernel Module (LKM) CSCI 3753 Fall 2018 5 How to Add a code to a Linux Kernel • Method 1: • Step 1: Add source files to the Linux kernel source tree • Step 2: Recompile the kernel àPA1 àIt takes a long time to compile the kernel source code (2-3 hours) !!! • Method 2: Add code to the Linux kernel while it is running Loadable Kernel Module (LKM) CSCI 3753 Fall 2018 6 Loadable Kernel Module (LKM) • LKM is a chunk of code that we add to the Linux kernel while it is running. • Typical modules • Device drivers • Filesystem drivers • System calls CSCI 3753 Fall 2018 7 Loadable Kernel Module (LKM) • LKMs (when loaded) are very much part of the kernel. à Part of the kernel that is bound into the image that you boot is “base kernel”. • LKMs communicate with the base kernel. CSCI 3753 Fall 2018 8 LKM Advantages • DON’T have to rebuild the kernel • Help diagnose system problems • A bug in a device driver which is bound into the kernel can stop the system from booting at all. • Save memory • Have them loaded only when we are actually using them • Be MUCH faster to maintain and debug CSCI 3753 Fall 2018 9 LKM Utilities • insmod: Insert an LKM into the kernel. • rmmod: Remove an LKM from the kernel. • depmod: Determine interdependencies between LKMs. • kerneld: Kernel daemon program • ksyms: Display symbols that are exported by the kernel for use by new LKMs. • lsmod: List currently loaded LKMs. • modinfo: Display contents of .modinfo section in an LKM object file. • modprobe: Insert/remove an LKM or set of LKMs intelligently. e.g., if you must load A before loading B, modprobe will automatically load A when you tell it to load B. CSCI 3753 Fall 2018 10 Week 2 – Checklist q Notice changes in PA1 q Compile a kernel q Read more about LKM CSCI 3753 Fall 2018 11.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us