Greg
animals language
brewing multimedia
cooking music
fiction opinion
gardening photography
general technology
history
Greg's diary
Recent entries
Translate this page
Select month in 2013:
Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
This month's diary
Greg's blog
Diary index
About this diary
Greg's photos
Greg's home page
Network link stats
Greg's other links
Copyright information
    
Groogle

Wednesday, 22 May 2013 Dereel Images for 22 May 2013
Top of page
next day
last day

Subversion: solution
Topic: technology, opinion Link here

So it seems that my problems with subversion were due initially to my misinterpretation of the -r switch: the form -r242743:r243202 excludes revision 242743. Does it work correctly if I write -r242742:r243202? Potentially not, since revision 242742 doesn't relate to these files. Spent another hour checking out the source tree and tried it. Success!

=== grog@freefall (/dev/pts/8) ~ 15 -> svn merge   -r242742:r243202  svn://svn.freebsd.org/base/head/usr.bin/locale 9/usr.bin/locale
--- Merging r242743 through r243202 into '9/usr.bin/locale':
U    9/usr.bin/locale/locale.1
U    9/usr.bin/locale/locale.c
--- Recording mergeinfo for merge of r242743 through r243202 into '9/usr.bin/locale':
 U   9/usr.bin/locale

So far, anyway. Committing was a different matter:

=== grog@freefall (/dev/pts/8) ~/9/usr.bin 16 -> svn ci locale
svn: E170001: Commit failed (details follow):
svn: E170001: Authorization failed
svn: E170001: Your commit message was left in a temporary file:
svn: E170001:    '/home/grog/9/usr.bin/svn-commit.tmp'

Huh? Oh, yes. Since the security incident last year, we no longer keep private keys on freefall. That means that I couldn't use svn+ssh to connect to the repository, so I used svn as well. But I couldn't check in that way. Reluctantly decided to check out the complete repository on eureka, my local machine. To my surprise it took hardly any longer than it did on freefall, and though it checked out a total of 1.4 GB of data, it only caused about 300 MB of network traffic. But things still didn't work:

=== grog@eureka (/dev/pts/3) /src/FreeBSD/svn/stable 150 -> svn merge -r242742:r243202 svn://svn.freebsd.org/base/head/usr.bin/locale 9/usr.bin/locale
svn: E170000: 'svn+ssh://svn.freebsd.org/base/stable/9/usr.bin/locale' isn't in the same repository as 'svn://svn.freebsd.org/base'

That's what comes from copying and pasting: The message didn't help, but I still had svn instead of svn+ssh. After changing that, it finally worked.

So: what have I learnt?

I find last two points a great disadvantage of subversion. It's too easy to make mistakes, and almost impossible to recover from them.


Installing the latest FreeBSD stable
Topic: technology Link here

So finally I have a relatively up-to-date installation of FreeBSD and ports on a virtual machine. Now I should be able to copy it to other machines to upgrade them. For some years now I've maintained two root file systems, including /usr: the one I'm using and the one that I can use to upgrade, which I mount on /destdir. The file systems look like this, and you simply boot from the appropriate partition:

Filesystem     1048576-blocks    Used  Avail Capacity  Mounted on
/dev/ad4p2              19832   16325   1920    89%    /
/dev/ad4p4              19832    8351   9894    46%    /destdir
/dev/ad4p5            1856010 1699357 138092    92%    /home

So yesterday I copied the new system to the alternate partition on teevee, my TV computer, and tried booting from it. That involves modifying the /boot/loader.conf file on the first partition, to tell it which partition to boot from. For some reason I had this in there:

currdev=disk1p4
rootdev=disk1p4

That's wrong: it should have been disk0p4. So I had to manually correct it, after which the system came up relatively well; only the remote control didn't work, something that always seems to happen. So I reverted to the old system to watch TV last night. Today corrected /boot/loader.conf and tried again. Not what I expected:


  This should be Panic.jpeg.  Is it missing?
Image title: Panic          Dimensions:          3728 x 2095, 608 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Wednesday, 22 May 2013, thumbnails          All images taken on Wednesday, 22 May 2013, small
Diary entry for Wednesday, 22 May 2013 Complete exposure details

 

  This should be Panic-detail.jpeg.  Is it missing?
Image title: Panic detail          Dimensions:          3659 x 438, 156 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Wednesday, 22 May 2013, thumbnails          All images taken on Wednesday, 22 May 2013, small
Diary entry for Wednesday, 22 May 2013 Complete exposure details

 

What's that? Line 1016 of /usr/src/sys/boot/common/module.c is the very last line, so it's not clear what really happened here. It also happened before I got the loader prompt, so there was just no way to start the machine. Took the disks and put them in monorchid, my test machine, where I was able to boot from another disk and examine things. After some testing, discovered that it was directly the result of specifying the correct partition! If I specified the wrong one and then corrected it, it would work without any trouble.

So what's the problem? loader too old? More investigation needed, but I want to do it without the danger of not being able to watch TV in the evening. Once again mañana.


Thursday, 23 May 2013 Dereel Images for 23 May 2013
Top of page
previous day

The joys of a fresh installation
Topic: technology, opinion Link here

It seems that yesterday's boot problems were related to an older version of /boot/loader that didn't properly understand GPT partitioned disks, so it seemed reasonable to install the newer version from the fresh installation instead. Care! The kernel is in the same directory hierarchy—and somehow I had finger trouble and blew my complete kernel directories of the old installation away!

Spent some time looking for a backup, which proved to be incomplete. I'm not as religious about backing up teevee and cvr2 as I am with other machines, in particular because almost the entire disk contents are video recordings, but clearly I should improve. So the only course is to do what I wanted anyway and ensure that the new system would run correctly. And indeed the loader worked as expected, and the machine came up. Next was to get the remote control working. I've always had difficulty with that, and it was helpful to look back on my experiences last November and two years ago—unfortunately, not helpful enough. I had the correct device, the correct configuration file, and the correct invocation, but nothing happened. The messages in /var/log/lircd were subtly different due to the new version of lircd, so I tried running the old version. In each case, nothing came across. Running ktrace on irw showed that it just wasn't reading anything. Hardware problems perhaps? Remote control batteries empty, or sensor not connected? No, the activity LED worked normally, and the probe messages found that the sensor had been detected:

May 23 13:42:01 teevee kernel: ugen0.4: <DVICO> at usbus0
May 23 13:42:01 teevee kernel: uhid0: <DVICO DVICO USB HID Remocon V1.00, class 0/0, rev 1.10/1.00, addr 4> on usbus0

So what is it? I still don't know. About the only other thing that has changed is the kernel. Do we have USB problems in recent kernels? Looks like this will need some serious debugging. It's a good thing that I can get by without the remote control: I can also use the keyboard.

That wasn't the only problem. Various other configuration things needed fixing. I have a custom version of mplayer, so I moved that across from the old system. But running the invocation script was surprising:

=== grog@teevee (/dev/pts/2) /spool/Docco 28 -> mmp World_at_War-Whirlwind
/home/local/bin/mmp: 1: Syntax error: Unterminated quoted string
/home/local/bin/mmp: 41: Syntax error: Error in command substitution

Syntax error at line 1? That reads:

#!/bin/sh
# $Id: mmp,v 1.2 2013/03/25 05:01:32 grog Exp $
#

And looking at line 41 didn't help much either:

  FPS=`egrep 'VIDEO:? +MPEG' $INFO | awk '{print $6 }' | sed 's:SUBS::`

Well, not at first. Looking more closely, there was indeed a missing quote at the end: it should read

  FPS=`egrep 'VIDEO:? +MPEG' $INFO | awk '{print $6 }' | sed 's:SUBS::'`

The RCS control files show that that error had been there for at least a year. It seems that the shell is now finding errors that it somehow missed before.

One of the things that I had expected from the new system was better browser support. Sure enough, Chrome and Opera started up with no trouble beyond the fact that I can no longer find home pages for these browsers. But when I clicked on the firefox menu, nothing happened. Incorrect name? Should I have called it firefox21? Tried running it from the command line: no, it's really firefox, but it didn't behave as expected:

=== grog@teevee (/dev/pts/2) /spool/Docco 44 -> /usr/local/bin/firefox
Segmentation fault: 11 (core dumped)

Doesn't that give you the warm, fuzzy feeling that everything is under control? Decided to recompile it on stable-amd64. More segmentation violations:

clang++: error: unable to execute command: Segmentation fault: 11 (core dumped)
clang++: error: clang frontend command failed due to signal (use -v to see invocation)

So I installed the firefox package from the FTP site. Version 20, now out of date. Not so much an issue in itself, but every time it starts, the damn thing has to tell you so and offer to do what it can't, to install a newer version.

Somehow all this should be easier. Not for the first time I wonder why I stick with FreeBSD. But there's a good answer. To misquote Jawaharlal Nehru:

FreeBSD is good. I say this because other systems are worse.

Other minor issues included not starting the xterms when X starts, and Emacs not reading in its configuration files. Those were both path issues: for some reason, I explicitly requested /usr/local/X11R6/bin/xterm in the startup files, and now it's /usr/local/bin/xterm. In the latter, I had ~/.emacs pointing to (NFS mounted) /dereel/home/grog/.emacs where it should have been /eureka/home/grog/.emacs. But I'm making progress.


Somebody to weed the garden
Topic: gardening Link here

The weeds in the garden are getting so out of control that I'm completely discouraged. I've finally decided to call in somebody to do it for me, and today Bentaz (Ben) and Rowan Brooks came along to take a look. Looks like they can do it for an acceptable price, but there's also Jordan Dickinson, who did the pond for us 18 months ago. But hopefully we'll have the garden looking a lot better soon.


This page contains (roughly) yesterday's and today's entries. I have a horror of reverse chronological documents, so all my diary entries are chronological. I try to leave the pages here for two days; you'll find them all in the archive, so if I fall behind a day or two, you may find more here. Note that I often update a diary entry a day or two after I write it. Do you have a comment about something I have written? This is a diary, not a “blog”, and there is deliberately no provision for directly adding comments. But I welcome feedback and try to reply to all messages I receive. See the diary overview for more details. If you do send me a message relating to something I have written, please indicate whether you'd prefer me not to mention your name. Otherwise I'll assume that it's OK to do so.


Previous month Greg's home page This month Greg's photos Greg's links

RSS 2.0 Valid XHTML 1.0!