Just got back from the beach. Tomorrow the gym at work, on Tuesday the pool, and after that – the world!
May 8, 2004
May 7, 2004
Getting a load off
At midnight, compiled the latex document I was working on one last time, printed it and drove home. A few minutes ago I finished reading it for the last time and emailed it. God, I hate writing design documents, especially at 1 AM at night.
May 6, 2004
Gahhhhh
Terribly unmotivated; I have a deadline tonight and am making not nearly enough progress to get out of here at a reasonable hour.
—
Thinking about the space limitations of Linux’s vmalloc implementation, I’m pondering whether it’s feasible and worth it to give vmalloc its own address space. Might be an interesting exercise, anyway.
—
Oron Peled has released a massive set of over 200 slides on The Linux Kernel and Device Drivers, including source. Having written quite a few slides in the past myself, I am in awe of the effort this must’ve taken. I sent Oron a bunch of comments and fixes to the previous version of the slides; I need to go over these as well.
more camera goodness
Put up some pictures online, from yesterday’s Technion Job Fair, including this beauty:
And some pictures of Maud the cat, my office, etc.
May 5, 2004
happiness is …
After having recently seen Kevin Smith’s Jersey Girl, Orna and me decided to have a “Kevin Smith marathon”. We rented Clerks last weekend, skipped over Mallrats since Orna has recently seen it, and watched Chasing Amy last night. I haven’t seen it before; it’s quite a lot more touching than I expected it to be. It’s also incredibly obvious and expected in place, but overall, I give it three and a half snootchy-boochies.
This morning was the annual Technion job fair. I spent a couple of hours there, looking around, taking pictures and occasionally tag-teaming with Oleg interviewing people for work. I also took many pictures. They will show up here when I’ll get home from work.
technical musings – how does root=LABEL=xxx really work?
Yesterday I spent a fun couple of hours trying to figure out what
kernel support is required for booting with a root=LABEL=xxx kernel
command line parameter.
The “standard” way to specify the root partition is passing a kernel
command line parameter such as “root=/dev/hda1”. RedHat, YellowDog and
possibly other distributions switched a few years ago to use
“root=LABEL=xxx”. Rather than telling the kernel to use e.g. the first
partition on the first IDE disk (/dev/hda1), we tell it to use the
partition that has a label of ‘xxx’, regardless of where it’s
located. How is it implemented, though?
- The kernel starts booting, and loads an initrd (initial ram
disk). Normally, no initrd is required for a Linux kernel to
boot. However, an initrd *is* required for root=LABEL=xxx support,
since as we’ll soon see, the initrd is what actually does the work. - The kernel runs the ‘linuxrc’ script in the initrd. This script is
interpreted by the ‘nash’ interpreter. One of the stages in the linux
script is creation of the root device, via a nash directive. - When the ‘createRootDev’ nash directive is called, and the
root=XXX kernel command line parameter starts with LABEL=xxx, nash
builds a translation table of labels to partitions. It does this by- parsing the output of /proc/partitions to know which partitions
are recognized on the machine. - for each partition in /proc/partitions, open it as a raw device
and look for an ext2/3 or xfs file system. If such a file system is
found, get the label from the s_volume_name member of the
superblock, and add this (label, partition) pair to the translation
table.
- parsing the output of /proc/partitions to know which partitions
- Once the table is built, find the (major, minor) pair of the root
partition in it based on its label. - Create a device file with these (major, minor) numbers, and mount
it. - Use pivot_root to make it the current root.
- At this stage the linuxrc ends, and boot continues, with the fs
that has the label xxx mounted as the root fs.
At first, I kept looking for the code that deals with LABEL in the RH
kernel sources, and couldn’t find it. This was particularly annoying
since I distinctly remember seeing it a couple of weeks ago. After an
hour or so of digging, a light dawned on me, that I’m probably not
looking in the right place. I opened up the nash code in emacs, and
immediately found the code dealing with labels.
May 3, 2004
Staying sane is hard to do. That is all.
Yesterday I worked from home, and achieved a total of negative productivity (well not really, but close enough for government work (I don’t work for the government)). Today I was at the office far too early, trying to play catch up. At least I have Rachmaninoff’s Vocalise playing now. Bliss!
May 1, 2004
Tikotin Museum trip in pictures
Taking
example from yrk, Orna, Ron Artstein, his wife Nancy
and me went to visit the Tikotin Japanese
Museum today, especially their Japanese swords exhibit.

After the museum visit, which was reasonably interesting (I didn’t
really expect them to make it really interesting and let us wield
swords, but one can hope…) we went for lunch at an annoyingly yuppy
restaurant (The Gyraffe, good food, though) and then for a walk on Yeffe Nof
(“pretty view”) street.


You can see the rest of the
pictures from today on my photo gallery pages.
the latest toy
So, we bought a digital camera, a Minolta DIMAGE Z1, to be precise. We went walking on the sea shore yesterday afternoon, and I practiced taking photos of various things, alas, I deleted all of them accidentally when we got home. “Delete all frames” does not mean “delete all frames in this movie”, but rather delete all pictures from the flash. Oh well.
So the camera works, and quite well. It’s lots of fun, too. The next step is offloading pictures off of it to hydra, the faithful Linux laptop, and that is what I’ll do right now.



