LINUX RESOURCES |
There are a huge number of linux resources available
on the web that come from a large community of people who have worked
with the linux kernel.
- General Info:
- Kernel Hacking:
- Red Hat Info:
- Linux Kernel Debuggers:
- KDB: built-in kernel debugger with multiprocessor support
- Kgdb: kernel debugger used through serial line
- Source Navigators:
The source navigators provide browse-able kernel code, making it easier
to read than your telnet window or emacs. However, the kernel is not the
same version as the kernel you will be working with, so watch out for
subtle differences.
|
VMWARE RESOURCES
|
VMware is a virtual computer that emulates the
hardware of a machine so that you can run an entirely different operating
on top of one that is already running. This is ideal for operating system
development because if something goes wrong with the system that is
running on the virtual machine, the entire computer does not
crash. VMWare will be installed on the machines in the CLIC Lab with
linux already installed and ready to go. To use VMware on the CLIC machines,
you will need to create a .vmware directory in your home directory and copy the
vmware license file from ~w4118/.vmware/license to ~username/.vmware/license.
- Using VMWare On Linux:
- Connecting to the VM via telnet:
VMWare allows the user to telnet into the virtual machine from the
host machine. When the virtual machine is installed on the host
machine, it is assigned an unused IP address. The best way to
find out the IP address of the VM is on your machine is to boot
up the virtual machine (using X or VNC) and type 'ifconfig' to get
the IP information. Then you can use the IP address to FTP or
Telnet into the machine from the host machine. This is only a
local IP address, so you cannot telnet directly into the VM.
- General VMWare Documentation:
|
C PROGRAMMING RESOURCES |
The linux kernel is written almost entirely in C, so
for those unfamiliar with C, here are some links that provide some
explanations.
- General C Reference
- Pointer Resources
- C Systems Programming
|
REMOTE ACCESS INFORMATION |
The virtual machines
on which you will need to do the kernel modifications required for the
assignments are located in the
CLIC Lab. VMWare requires X to run, so if you cannot work in the
Clic Lab, you will need to connect to the VM remotely using one of the
following methods.
- X Client
If you are running a Unix-based operating system or
have an X Client running on your local computer, you can use X to access
your virtual machine. X-Win32
is available for running X on Windows PCs.
This is probably the easiest way to use VMWare,
but you may run into firewall problems if you are off campus.
To do this:
- On your local machine set your X Client to accept connections from
the computer that you want to connect to. In
Linux or Unix, type at the prompt ('mymachine' is the machine name
):
$xhost +mymachine.clic.cs.columbia.edu
Telnet into your machine in the CLIC lab
If xxx.xxx.xxx.xxx is the IP address of your home computer, type:
$ export DISPLAY=xxx.xxx.xxx.xxx:0.0
From here you can run VMWare, Emacs, or any other application that
requires X with no Problem.
VNC
According to the VNC website: "VNC stands for
Virtual Network Computing. It is, in essence, a remote display system
which allows you to view a computing 'desktop' environment not only on the
machine where it is running, but from anywhere on the Internet and from a
wide variety of machine architectures."
There is a free client available for VNC, so it is
very easy to access. It is also extremely lightweight and can save your
session on the server in between logins. However, it can be slower over
the network.
Terminal Services
Microsoft Terminal Services client allows you to connect
to a Microsoft Windows 2000 Server machine in much the same way as VNC,
but with better performance over low-bandwidth networks. For CVN
students only, we have four Windows 2000 Server machines which you
can use with a CS account:
- os1.clic.cs.columbia.edu
- os2.clic.cs.columbia.edu
- os3.clic.cs.columbia.edu
From there, you can use VNC to connect to the Linux machine running your VM.
Telnet
Once a virtual machine is up and running, you can telnet
into it from the machine on which the VM is running. This requires that
the VM be started either locally on the machine itself, or from a VNC or X
session. Once this is done, the IP address can be used to connect to the
VM after telnetting into the local machine. (See
VMWare Info for info on how this works)
|
COLLABORATION TOOLS |
All major programming projects will be done in groups
of three. To facilitate collaboration among group members
(some of whom may not be on campus), there are some resources
available to help out. CVS and RCS are popular methods of
retaining source code integrity. Also, Instant Messaging
allows for quick communication, whether it be a commercial
product or using the 'talk' command on the cunix or cs
machines.
- Source Code Management
- CVS us a version control system that enables you to
log all changes made to a body of source code. It also makes patches and
does lots of cool stuff to keep track of your source code:
CVS Manual
- RCS is another version control system, but a little
more lightweight. It allows files to be stored in a directory without
downloading them to another directory:
RCS Mini-HowTo
- Instant Messenging
|
|