“device is busy…”

I’m working on a fun little project to set up a custom-made bootable usb key. But I ran into a little trouble after using a chroot, due to /dev and mount --rbind.

# mount -t proc none /mnt/gentoo/proc
# mount --rbind /sys /mnt/gentoo/sys
# mount --rbind /dev /mnt/gentoo/dev
# mount -t tmpfs tmpfs /mnt/gentoo/tmp
# mount -t tmpfs tmpfs /mnt/gentoo/var/tmp
# mount -t tmpfs tmpfs /mnt/gentoo/usr/src
# mount | grep gentoo
/dev/sde1 on /mnt/gentoo type ext2 (rw)
none on /mnt/gentoo/proc type proc (rw)
/sys on /mnt/gentoo/sys type none (rw,bind,rbind)
/dev on /mnt/gentoo/dev type none (rw,bind,rbind)
tmpfs on /mnt/gentoo/tmp type tmpfs (rw)
tmpfs on /mnt/gentoo/var/tmp type tmpfs (rw)
tmpfs on /mnt/gentoo/usr/src type tmpfs (rw)
# chroot /mnt/gentoo

All’s well, until it’s time to exit the chroot and unmount everything..

# umount /mnt/gentoo/usr/src /mnt/gentoo/var/tmp \
/mnt/gentoo/tmp /mnt/gentoo/sys /mnt/gentoo/proc \
/mnt/gentoo/dev /mnt/gentoo
umount: /mnt/gentoo/dev: device is busy.
       (In some cases useful info about processes that use
        the device is found by lsof(8) or fuser(1))

I don’t see anything mounted under there. Fuuuu…

# mount | grep gentoo
/dev/sde1 on /mnt/gentoo type ext2 (rw)
# lsof|grep gentoo
# fuser -m /mnt/gentoo
/mnt/gentoo:
#

Rebooting at this stage is inconvenient, but will certainly solve the problem. But what is left using /mnt/gentoo/dev?
Googling around, and seeing some people with similar problems, finally lit a light bulb above my head:

# cat /proc/mounts | awk '{print $2}' | grep gentoo
/mnt/gentoo
/mnt/gentoo/dev
/mnt/gentoo/dev/pts
/mnt/gentoo/dev/shm

So mount --rbind worked as advertised and recursively mounted /dev and everything sub-mounted. And I didn’t realize that udev mounted other things under /dev without updating /etc/mtab. Sigh.

# umount /mnt/gentoo/dev/shm /mnt/gentoo/dev/pts /mnt/gentoo/dev /mnt/gentoo
#

And now I can get on with my life.

And another birthday down

Alpha child vacillated on how to celebrate her birthday.  (Giving her a choice was mistake.)  Four days before, we finally settled on a simple party at the local, recently-opened mini-golf course.

It might be worth mentioning that Alpha has been officially diagnosed with Asperger’s (that’s worth a whole bunch of posts on it’s own), so a party with a “script” to follow is a very, very good idea.

So mini-golf has a implicit script – everyone knows what to do, there’s something to keep busy with at every turn, and it’s easy to avoid uncomfortable moments.  The party worked.  We met a couple of Alpha’s friends from school, everyone had a good time, and we ended the day on a high note.  Plus, it turns out that Alpha loves laser tag – also offered at the place.  Beta and her friend kept busy too.

And a shout out to our friends Sam and Joanne, who came in from out of state with their son and were most helpful.  I suck with unfamiliar kids, but Sam is actually quite effective with them.

Pics to come later.  Maybe M has a few, I never remember to take snapshots.

Lacrosse

imageBeta decided she wanted to try lacrosse. So, with help from Mom, we got her signed up for the kids’ league here in town. She was super excited (counting the hours for three days).

We got there nice and early, so she could get her helmet fitted (they provide the helmets for this age-group). Most kids had their pads and everything, but they weren’t required for this get-together. We’re going to have to get set for her, though.

You see, there is a difference between girl and boy lacrosse (if you mated the two together, you would get another game altogether). So, Beta needs pads, and guards. And does anyone elbronse feel bad for the other kids on this team? She can scoop the ball, throw the ball (over anyone’s heads), and put the stick in the right general vicinity to catch the ball. Which is a huge improvement over how she did before the practice. She was so frustrated she hid in a corner.

In the end – she loved loved loved lacrosse. And the coaches were awesome. I was quite happy.

So, there’s this book

Its called 1632. I just e-mailed the publisher (BAEN) to see if there are any plans to record it as an audiobook. A very nice person from their info-desk got back to me within hours. Its been done. Its on Audible. It is narrated by one of my favorite readers, George Guidell.

I may have squeeled like a little girl. Oh, yes.

So, tonight, I will be working on my green alpaca mittens, while listening to Mike, Rebecca, Harry, and especially Gretchen turn the 30 Years War on its ear. Next month, I’m getting 1633. After that, I really, really hope they do the Galileo Affair!

We have a working drier! And it even dries the clothes!

I have a working drier! After having a pipe fitter come in and unhook the gas drier, and getting the permit to put in a new electrical circuit, and running said circuit over to where the drier needed to be, we HAVE a WORKING drier! And it dries the clothes!

This is huge because the gas drier the house came with didn’t dry. At all. Apparently this is not unusual for gas driers. It finally died, and we had to move it. So after five months of sucky horrible driers that sounded like a dying cat, we have dry clothes from somewhere other than the laundromat.

Thank you, My Darling Husband, for all the hard work you put into making this happen. You are awesome.

I’m going to die for that

kitty
Oo-long doesn’t like Katie Perry.

So, I was listening to my non-kid-safe music this morning on my phone. Oo-long was all curled up in her kitty-tree, when I came in, and set the thing on the next level down. Katie Perry’s “Firework” was on, and it may have been a little loud.

I saw this evil green-yellow eye GLARING at me from behind a fluffy grey tail. Of course, I took a picture before turning off the music and running for my life. Self-preservation is one thing, but documenting that look was quite important. After all, I may as well make my death count for something, right?