Difference between revisions of "COMP 3000 Lab 4 2010"

From Soma-notes
Jump to navigation Jump to search
Line 15: Line 15:


=== Pro-tip ===
=== Pro-tip ===
sudo update-grub (important!!! guess what it does!!!
sudo update-grub (important!!! guess what it does!!!)


===Kernel command line options===
===Kernel command line options===

Revision as of 10:39, 2 November 2010

All of the following should be done with an Ubuntu 10.04 distribution or equivalent. We recommend experimenting in a virtual environment because some of the exercises could make your system unbootable. (In fact, take a snapshot of your working system before starting these exercises so you can easily revert.)

Questions

  1. Change the grub command line at boot to limit the total available RAM to 256M. You'll need to get to select an entry and edit it from within grub.
  2. Add a new grub menu item which limits the standard kernel to 256M.
  3. Add a second virtual disk and make it bootable: put the kernel and initial ram disk on it and then install grub. Can you boot off of this disk? What does it do?
  4. Examine the standard kernel's initial ram disk (initrd). What program is first run in this environment? What does it do?
  5. Modify the standard initial RAM disk so it pauses for 10 seconds and prints a message to the console on boot.
  6. What programs does upstart start on boot?

Hints

Please add your hints below to help your fellow students!

Pro-tip

sudo update-grub (important!!! guess what it does!!!)

Kernel command line options

GRUB configuration

  • On Ubuntu the user configuration is stored in /etc/default/grub, while system grub configuration is in /etc/grub.d. The main grub files are stored in /boot/grub. You can update grub's config with the update-grub command.
  • to limit RAM, go to /etc/default/grub, and change default boot options so that mem=256M is included.

How GRUB works

Making a disk bootable

Examining RAM disks

  • Ubuntu (Debian) store initial RAM disks in the cpio format. 'zcat <file> | cpio -i' will extract its contents.

Upstart/init

Upstart "jobs" are config (.conf) files in /etc/init that require one of two options an "exec" line or a "script"

The exec line allows the upstart to just simply execute a script elsewhere, while script allows you to shell script in the upstart job.

A special upstart job is rc.conf which maintains the original runlevel init.d scripts. You will see that rc.conf simply executes all the /etc/init.d scripts.

See more on upstart jobs at http://upstart.ubuntu.com/getting-started.html

For those using the newer versions of Ubuntu and thus using Grub2 https://help.ubuntu.com/community/Grub2