In this assignment you will configure your own kernel from scratch instead of relying on the default Ubuntu configuration. To do this, follow the building instructions from last week but skip step 3. When you run make menuconfig you will start with the default configuration. You should go through every menu at least once and try to understand which options should be enabled. Your system probably won't boot with the default options.
make menuconfig
Hints:
make-kpkg
dpkg
You should submit the .config file from your kernel source directory and a dump from the dmesg command to show your kernel boots properly. Please rename these to pennkey.config and pennkey.dmesg in your submission.
.config
dmesg
pennkey.config
pennkey.dmesg
Assignment posted here
Perl Scripting Assignment (Due with 5 bonus points by 3/9/09, otherwise due 3/16)
interfacelift.com is a very cool website where people upload awesome wallpapers sorted by resolution and type. You've decided you want to add these to your own home desktop rotation (a bash script for another day to change wallpapers periodically) and always have the latest wallpapers from this website. So whats the best way to always have the latest wallpapers? Why to write a perl script to get them for you and put that in cron!
You're assignment is to write a perl script which will download the interface lift RSS file (http://interfacelift.com/wallpaper_beta/rss/) and download all of the images that you don't already have from it. (You can download images to the current directory and assume "having" an image means its in the current directory already). This script will be graded similar to the bash script, 50% correctness 50% on how well you take advantage of the language. Some tips:
$img = $description; $img =~ s/.*src=\".*\/(.*?)\.jpg".*/$1/s; $res = $description; $res =~ m/ (\d*x\d*)/; $res = $1;
This week's homework is to become an amateur scripter in both Bash and Perl. You will submit two different scripts, one in Bash one in Perl.
Bash Scripting Assignment
You are testing out a new shell (similar to bash) that supports all the normal commands and piping. (No redirection). Your task is to write a bash script which will run several commands in bash and in this new shell (call it 'mysh'). When we run your script as "bash bashhw" it should run several commands that use piping and output whether "/bin/bash" and a shell (which is in the current directory and executable) called "mysh" output the same things for your commands. 50% of your grade will be whether or not your script outputs the correct PASS/FAIL for each command you test and 50% on your style and the bash constructs you used. Some things to look into to perform this task:
ln -s /bin/bash mysh
When submitting your homework please call the file "bashhw". Files with a ".sh" extension are removed by the SEAS spam filters.