Monthly Archive for August, 2005

(G)Vinum Bootstrapping


Since I may move to some other country and that I’d like my server to be a bit more tolerant wrt. disks crashes, I thought about having my FreeBSD system installed on a gvinum mirror.


After some nice readings like this one, it seemed to me that there was no easy way to do it.


As usual, when I don’t find a satisfactory way to do what I want, I poke random people on IRC, hopefully there was at least one GEOM guru (Pawel Jakub Dawidek, pjd) who told me to ask Lukas Ertl (le). What follows is the discussion I had some minutes ago with Lukas.

16:12 -!- Irssi: Starting query in EFNet with le
16:12 <le> so, you want to mirror /, right?
16:12 <flz> yup
16:13 <le> ok, install on disk 1 as usual, with out vinum
16:14 </le><le> once finished, bsdlabel disk 2, so that it looks like this:
16:14 </le><le>   a:   614400      281    4.2BSD        0     0     0
16:14 </le><le>   c: 142253248        0    unused        0     0         # "raw" part, don't edit
16:14 </le><le>   d: 142253232       16     vinum
16:14 </le><le> first create the 'd' partition, but not 'a'
16:14 </le><le> then create the vinum volumes on disk 2
16:15 <flz> looks like the same trick there's on the webpage i specified, nope ?
16:15 <le> when you're done with the vinum volumes, add the 'a' partition as shown above, with the correct size of course
16:15 <flz> 281 seems a recurring number :-) 
16:15 <le> size of 'a' must match the size of your 'root' vinum volume
16:15 </le><le> the 281 offset is important, of course :-) 
16:16 </le><le> don't forget to keep an offset of at least 16 for 'd'
16:16 <flz> k
16:16 <le> and don't forget to add a boot loader to disk 2
16:16 </le><le> once your done with that, reboot and bring up the machine on the vinum volumes (i.e., boot from disk 2)
16:16 <flz> yup
16:17 <le> then you clean up disk1 and create the second half of your mirror there
16:17 </le><le> that's all
16:17 </le><le> more or less what's on the webpage, maybe some details are not the same anymore
16:17 </le><le> but that's it
[...]
16:18 </le><le> the important part is that you get the volumes on disk2 working
16:18 </le><le> once you were able to boot from disk2 (the vinum volumes), you're set
16:19 </le><le> if you run into problems, let me know, i'd like to hear your experiences
16:19 </le><le> plus, it's a good test in case there are bugs :-) 
[...]
16:21 </le><le> the webpage mentioned describes a different kind of bsdlabel setup
16:22 </le><le> basically, it should allow you to boot the disks even if vinum is broken, by duplicating the volume structures in simple bsdlabel offsets
16:22 </le><le> i never tried that
16:22 </le><le> and it could be that you run into trouble with that
16:22 </le><le> geom doesn't like overlapping partitions very much
16:23 </le><le> anyway, let me know how it goes
</le></flz></le></flz></le></flz></le></flz></le></flz></le>


Nothing much to add, if somebody test this before me (that means within 2 weeks), don’t hesitate to poke with comments or trouble reports.

Google Job Application


Finally, my first post in the “Work” category. Not really to talk about my actual work though (three days left, I’ve spent some quality moments here but I’m not unhappy to leave).


I just sent my application for a Linux/Unix System Administrator job opening at Google EU Headquarter located in Dublin, Ireland and got this friendly message back :

Dear Applicant,
We recently received your resume and would like to thank you for your
interest in working at Google. After reviewing your resume, a member of our
staffing team will be in touch if we find you may be a fit for the role for
which you've applied. Thanks again!

Sincerely,
Google Jobs
jobs@google.com


Though I’d really like to work there, I need to send some other applications. I’m obviously hoping for a positive answer. I’m pondering going to Dublin in september to look for a job in a more active way, if I got no (positive) answer in the meantime.

Trip to Dublin


Friday evening I left Paris (Beauvais actually) airport on a Ryanair flight to come to Dublin (Ireland) to visit a friend of mine. That was the first time I came to Ireland. Yesterday we did the tour of Dublin (Pubs, Temple Bar, Pedestrian Center) and left to walk on the beach in Killiney near Bono’s and The Edge’s House. At the end of the day, we had some sort of alcohol meeting with some of his colleagues (all french guys, all very friendly) and ended at the Bondi Beach Bar (which is a quite nice bar/discotheque, there is sand on the floor and it’s quite hot, lots of girls only wearing bikinis). For the record, it’s in Stillorgan :-)


It was a sunny day, I couldn’t have wished to have a nicer weather (it’s actually quite bad in Paris these days). Now it’s raining (not too much). Plans were to go and play golf, we might change them if the weather doesn’t change itself.


Edit: The weather was quite bad all day long. No work and no golf makes Florent a dull boy…


I was planning to apply for a job at Google’s in Dublin but didn’t want to do it before actually having visited the city. Dublin is a very nice city, nothing to compare with Paris. I’d like to come and work/live here for some time.

Perforce


Some months ago, I set myself a perforce account to work on pkg_install with krion but I’ve been quite confused with the way things work compared to CVS (or Subversion which is quite the same).


Yesterday I decided to try it again, to actually work with it. I’ve finally successfully setup clients, branches and workspaces. I have to say it’s a very nice SCM. I wouldn’t recommend it for small project, where Subversion is really easier to use, but it really fits the job with a project like FreeBSD.


More information on:

HitchHiker’s Guide to the Galaxy


Since H2G2 was announced to be out this wednesday, I decided last Saturday to buy Douglas Adams’ HitchHiker’s Guide to the Galaxy book, to read it before seeing the movie.


I read it in two days (I usually don’t read much books, but I can’t help stopping reading them until the end). It’s a very fun book, as people told me at school (that’s the holy bible there for some people).


So I went to the cinema to see the movie, that was a good surprise since I had some difficulties to imagine how such a book could be adapted into a movie. I think people who enjoyed the movie should read the book.


The day after I went to the bookstore to buy the last four book, and I found them all except the second one. That’s the most frustrating thing that could happen.


In the meantime, I’m reading House Atreides by Brian Herbert and Kevin J. Anderson.

Port’s News


I’ve been quite lazy these days. Since I’m mostly playing with Voyage Linux at work, I haven’t had much time to work on port since last week.


I’ve just added some bits to the documentation and some options already present in portupgrade which are preserve_libs (.so.* -> /usr/local/lib/compat/pkg at deinstall stage), keep_backup (not removing backup tarball made before deinstall) and keep_packages (the ones you’re installing).


I’ve introduced some awk lines some days ago and now I just want to get them out, because I don’t like awk much and I have some escaping problems with ports name containing ‘+’ (probably ‘.’ too).


I hope I’ll be able to release something before I leave for vacation in a little more than 2 weeks.

Portsnap comes into base


Yeah, that’s true!


Colin Percival (cperciva) committed portsnap to base yesterday.


New features are (magic) random selection of the mirror and default http-pipelined fetching.


He added that he would MFC it to RELENG_6 / RELENG_6_0 if he has more than 50 testers. So, if you’re not using HEAD or portsnap from base, do the following :

# alias ncvs='cvs -d :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs'

You can replace the mirror with another one obviously.

# ncvs co src/etc/portsnap.conf
# ncvs co src/usr.sbin/portsnap
# ncvs co src/share/man/man5
# ncvs co src/usr.sbin/Makefile.inc
# gzip -cn src/share/man/man5/portsnap.conf.5 > portsnap.conf.5.gz
# install -o root -g wheel -m 444 src/etc/portsnap.conf  /etc
# install -o root -g wheel -m 444 portsnap.conf.5.gz  /usr/share/man/man5
# cd src/usr.sbin/portsnap
# for i in make_index phttpget portsnap; do (cd $i; make all install); done

Note: Thanks to Peter Van Dijk for correcting some mistakes.