qemu notes

I’ve been using qemu lately to test kernel changes. In particular I’m using qemu-0.7.2 running x86 virtual machines on an amd64. This configuration seems to work really well, particularly once I remembered to “echo 1 >/proc/sys/kernel/sysrq” in the host OS’s rc.local (doh!)

Today I switched from using qemu’s user mode network stack to using the tun/tap interface with masquerading. To that end, my qemu startup script now looks like this:

#!/bin/bash
# qemu.sh
sudo bash -c 'echo 1024 > /proc/sys/dev/rtc/max-user-freq'
#sudo modprobe kqemu
qemu \
    -kernel linux-2.6-qemu/arch/i386/boot/bzImage \
    -append 'console=ttyS0 root=/dev/hda ro clock=pit' \
    -hda root_fs.fc-4-base.pristine.20051026 \
    -nographic \
    -n $PWD/qemu-ifup \
    "$@"

and qemu-ifup looks like this:

#!/usr/bin/sudo bash
/sbin/ifconfig $1 172.20.0.1
iptables --table nat --flush
iptables --table nat --append POSTROUTING \
    --source 172.20.0.0/16 --destination ! 172.20.0.0/16 \
    --jump MASQUERADE
[[ -e /proc/sys/net/ipv4/ip_forward ]] && \
    echo 1 > /proc/sys/net/ipv4/ip_forward

This gives me outgoing networking from the virtual machine, plus incoming networking from the host OS. The virtual OS uses 172.20.0.2 on its virtual adapter.

Gentoo Council nomination

Since there is no public gentoo-core archive, here’s a transcription of my nomination for the Gentoo Council. For the sake of reference, the message-id is <20050628203320.GA20210@olive.flatmonk>.

Grant Goodyear wrote: [Tue Jun 28 2005, 02:45:53PM EDT]
> I’m formally nominating vapier and agriffis as council
> members. They are both skilled developers who have a deep understanding
> both of how Gentoo actually works and how it probably should work.

Thanks! I’m happy to accept this nomination. For those that I haven’t had the pleasure of getting to know yet, here is an introduction for you:

My history with Gentoo goes back to 2001. I had been developing for other distros prior to that and found my way to Gentoo by reading one of Daniel Robbins’s DeveloperWorks articles. I jumped on IRC and helped solve some early portage problems, particularly “try vs. die” (which is famous only in my own mind) and file corruption issues that were the result of writing directly on top of existing files instead of moving the old ones aside first. Daniel asked me to be a developer and I dove in head first.

Since then I’ve worn a number of hats. I’ve worked on a lot of architecture issues, contributing to alpha and ia64 in particular. I’ve maintained or co-maintained a number of packages, including bash, mozilla, firefox, thunderbird, mutt, mercurial, vim, xcut, xautomation, ctrlproxy, lilypond, librep, rep-gtk, sawfish, plucker, subversion, jpilot and baselayout. I also wrote mozilla-launcher, epm, echangelog, ekeyword, eviewcvs and votify. I didn’t originally author keychain, but all of the code in it is mine at this point. 😉 Finally, I was one of the original trustees, but I chose not to run this year because I believe my skills are more suited to making technical contributions.

Technical contributions are important for anybody wanting to facilitate cross-project decisions. Sometimes a good technical solution will allow two projects to forge ahead in peace when they were previously at odds. When that isn’t possible, it’s important to get along with other developers and find a way forward. I believe I get along with my fellow developers. I have my own opinions, but I work hard to understand the perspectives of other developers, and I’m not shy about backing down and admitting I was wrong.

I look forward to serving on the Gentoo Council if I am elected.