Zweitklassig

(Blogged via locr: Europe, Germany, North Rhine-Westphalia, Dortmund, Königswall)

Immerhin: Das ein von der Resterampe zusammengestückelter Zug keinen adäquaten Ersatz für ein ICE-Tandem darstellt, ist auch bei der Bahn unstrittig … #Horror #Bahn

Kamera: Nokia N95 (Brennweite 5.6mm, f/2.8)

Treffpunkt: Gleis 9

(Blogged via locr: Europe, Germany, North Rhine-Westphalia, Dortmund, Königswall)

Mit ohne Worte …

Kamera: Nokia E71 (Brennweite 4.9mm, f/3.2)

Danke, Hartmut!

(Blogged via locr: Europe, Germany, North Rhine-Westphalia, Siegburg, Katharinenstraße 9)

Heute bleibt die Küche kalt, denn der ICE endet in Köln. Nach Gütersloh umsteigen muß – und ICE bezahlt habe – ich in bzw. bis Dortmund. Gaaanz großes Kino wieder, typisch Bahn.

Kamera: Nokia E71 (Brennweite 4.9mm, f/3.2)

Lessons learned: mastering grub

As I was bitten by this during my recent virtualization efforts[sup]¹[/sup] and the error message …

The file /boot/grub/stage1 not read correctly

 
… caused some grief – with google bringing no relief –, I would like to point to the posting How to install Grub from a live Ubuntu cd at the Ubuntu Forums.
I haven’t tried this yet step by step (I just installed a fresh 8.04.1 on a new shiny .vmdk and then got the old, now virtual, system up and running by using the 8.04.1’s grub to boot my 7.04 system over at root=(hd1,1)), but it sound as if it should work as well from an (Ubuntu) rescue image.
_____

[sup]¹[/sup] The problem was that the physical box booted from /dev/sda, but root for this installation was at /dev/sdb1. So, dumping /dev/sdb1 and the MBR of /dev/sdb brought no boot code from grub to the virtual instance. Doing a rescue boot and trying to restore grub both via Menu as well as from the chrooted shell only gave above error message. “update-grub” was no help, either. Something like that can really ruin your day ;-)

Lessons learned: HowTo virtualize a (Linux) Machine

I got my electricity-bill the other week … Well, statistically, I must be running a hotel somewhere in the basement ;)
So, it’s finally time to finalize the virtualization projects I keep on pushing to some later point in time. I’ll virtualize some Pentium-3-boxes running linux at home, which do the other odd job, onto the AMD X2 box I bought a year ago. While most stuff could as well be re-deployed on that new box, without the runtime overhead by virtualization, I’m simply out of time here, so … they’re virtualized. With VMware, since I have some experience with VMware — I’ve been using their products since about 1999 (VMware Workstation) to cope with the need to run MS Office occasionally ;)
I did some dd-ing to .img, mumble magic words and type a .vmdk for the .img before. But, somehow, right now, I seem to have lost both my wand and my book of spells … Whatever, it just didn’t work and all the funny tips via google, e. g. using qemu-img to convert the dd’ed partition into an VM, only burnt my time and disk space: Unfortunately, only disk space can be reclaimed.
Finally, seeking trough my mail archives, I found a hint I sent me myself over a year ago — as it seems, I may have failed to find a quick solution not for the first time ;)
To give credit where credit’s due – and to find the information quicker the next time I need it –: Imran Nazar wr0ote a nice article about how to generate a .vmdk file for a hard disk image, created by dd.
I’ll sum it up, mainly for myself finding it again, here; »physical« is the installation to be virtualized, »vmware-server« the future host (running e. g. VMware Server). I expect you are familiar with the *IX command line.
First: write down or pipe away the geometry of the partition to virtualize – it’s / at /dev/sdb1 in this case:

root@physical:~# sfdisk -luS /dev/sdb
Disk /dev/sdb: 8708 cylinders, 255 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System
/dev/sdb1 * 63 20980889 20980827 83 Linux
/dev/sdb2 20980890 24065369 3084480 82 Linux swap / Solaris
/dev/sdb3 0 - 0 0 Empty
/dev/sdb4 64243935 139894019 75650085 5 Extended
/dev/sdb5 64243998 139894019 75650022 83 Linux

Second: Generate image of boot sector:

root@vmware-server:/data/vmware/Virtual_Machines/new# nc -l -p 1234 >new.mbr
root@physical:~# dd if=/dev/sdb bs=512 count=63 | nc vmware-server 1234

Third: Generate image of partition:

root@vmware-server:/data/vmware/Virtual_Machines/new# nc -l -p 1234 >new-sdb1.img
root@physical:~# dd if=/dev/sdb1 | nc vmware-server 1234

Forth: generate new.vmdk for the dd’ed .img:

# Disk DescriptorFile
version=1
CID=ffffffff
parentCID=ffffffff
createType="monolithicFlat"
# Extent description
RW 63 FLAT "new.mbr" 0
RW 20980827 FLAT "new-sdb1.img" 0
RW 118913129 ZERO
# The Disk Data Base
#DDB
ddb.adapterType = "ide"
ddb.geometry.sectors = "63"
ddb.geometry.heads = "255"
ddb.geometry.cylinders = "8708"
ddb.virtualHWVersion = "4"
ddb.toolsVersion = "0"

The is 118913129 calculated by 139894019–20980890, that is last sector of device minus last sector of our partition minus one.
After booting into the virtual system, you better clean the partition table (fdisk /dev/xxx), as it’s still the copied one from the original drive (new.mbr) and you or Linux might get confused ;)