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 ;)

Das Ende einer Ära …

3:27am up 167 days, 7:40, 1 user, load average: 0.02, 0.04, 0.00


Umbauten an der Stromverteilung zwangen zur Abschaltung. Auch schon wieder ein halbes Jahr her. Damals war’s wärmer …

Linux version 2.0.36 (root@gaspode) (gcc version 2.7.2.3) #6 Mon Jun 21 00:12:06 CEST 1999


Ja, der Kernel ist handgeklöppelt und seinerzeit nativ durchkompiliert. Ich weiß nicht mehr, ob es ein oder zwei Tage dauerte, bis der Motorola 68040 sich mit seinen 25 MHz durch den Wust an Codezeilen gekämpft hatte.

Amiga hardware found: [A4000T] A4000_SCSI A4000_IDE A3000_CLK VIDEO BLITTER AUDIO FLOPPY KEYBOARD MOUSE SERIAL PARALLEL CHIP_RAM PAULA LISA ALICE_PAL ZORRO


Paula. Lisa! ALICE!!! Und der Kollege Zorro! Hachja, wir hatten schon eine schöne Zeit …

Probing AutoConfig expansion device(s):
0x00e90000: Commodore A2060 Arcnet Card (Z2, 64K)
0x00200000: Village Tronic Picasso II Graphics Board (RAM) (Z2, 2M)
0x00ea0000: Village Tronic Picasso II Graphics Board (REG) (Z2, 64K)
0x00eb0000: BSC ISDN MasterCard (Z2, 64K)
0x00ec0000: Commodore A2065 Ethernet Card (Z2, 64K)
0x00ed0000: Hacker Test Board 0xe0 (Z2, 64K)


Da schau her, ‘ne Arcnet-, eine Ethernet- und eine ISDN-Karte — Goldstücke … im vergangenen Jahrtausend.

Memory: 15028k/16384k available (676k kernel code, 680k data)


16 MB. Das waren 1990 noch (fast) unvorstellbare Größen!

scsi0 : Amiga NCR53c710 SCSI
scsi : 1 host.
scsi0 : target 0 accepting period 200ns offset 8 5.00MHz synchronous SCSI
scsi0 : setting target 0 to period 200ns offset 8 5.00MHz synchronous SCSI
Vendor: FUJITSU Model: M1606S-512 Rev: 6234
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
scsi0 : target 1 accepting period 200ns offset 8 5.00MHz synchronous SCSI
scsi0 : setting target 1 to period 200ns offset 8 5.00MHz synchronous SCSI
Vendor: FUJITSU Model: M1606S-512 Rev: 6220
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sdb at scsi0, channel 0, id 1, lun 0


1 GB. Und ich habe sogar zwei dieser Platten! (In keinem RAID-Verbund, aber dies einmal außer Acht gelassen.)
Hachja. Lieber Amiga 4000 Tower, Du hast mir, weit über die prognostizierte Lebensdauer hinweg, immer viel Freude bereitet. Die letzten rund neun Jahre Dauerbetrieb aber sind auch an Dir nicht spurlos vorbeigegangen, sodaß ich Dich in der nächsten Woche abschalten werde. Danke für all die CPU-Zyklen, die Du mir spendetest!
Neinneinnein, weder Dein Alter noch Deine morbide Leistungsfähigkeit hat etwas damit zu tun; ehrlich. Nein, auch nicht die simple Tatsache, daß heutzutage jedes Handy, ja fast jeder RFID-Chip, mehr Rechenleistung vorzuweisen hat.
Farewell …