Tag Archive for 'Linux'

Error reading drive c:\

So about a week ago I was deleting some files from my USB key, and the delete failed. So I tried the command line, then with sudo on the command line. I was surprised to see a message like “UID 1000 does not exist in password file”, so I opened a new shell only to be told by my computer that I don’t have a username.

Switching to a pure console I found I couldn’t log in with root, and after rebooting I found that /etc/passwd no longer existed.

At this point I was wondering if I had any data left at all. I figured that either a)my disk has died, or b)my OS decided to scramble the file system. I was sadly hoping that it was a disk failure, as that is just bad luck with hardware…
After a thorough disk scan with the manufacturers disk tools I realised that my system must have done the damage to itself - oh dear!

I am not reinstalling my Debian box from scratch (thankfully my home dir mount seems to be fine) in a new LVM logical volume. I was suprised that had to mark the partition as a LVM physical volume, and write the partition table to the disk before the installer would let me choose LVM volumes to use as filesystems, but thankfully it worked fine.

It will still be a while before my system is back to its usual state, but at least a fsck check of my home parition came up perfectly clean. The old root parition however looks a mess. /etc/ looks rather sparse, which is not good.
I am still unsure exactly how this sort of thing can happen - anyone want to pose a theory?

PIC Microchip programming under debian

A while ago I bought a PICkit2 programmer, including 16f690 PIC. I installed piklab and sdcc (in Debian repositories) and got it working pretty easily. I did play with the programmer that came with it (mplab, windows only), which upgraded my firmware. piklab cannot use the new firmware, so if you need to get an old firmware, then try the old firmware downloads page

There is quite a difference in programming between mplab and piklab. Although there is support for a large number of chips in piklab, they are not supported as well as mplab. The big problem is that in mplab most special bits (i.e. each bit for an output port, one per pin) have a defined name so you can set them on or off individually. Piklab on the other hand has support for only a few of these, so if you want to turn on a pin, you have to set a value on the whole port (byte). Saying that, I prefer the piklab editor as it seems to do a better job with syntax highlighting etc.

Below is some code examples to help you get started if you are finding the learning curve steep

Continue reading ‘PIC Microchip programming under debian’

iPod Classic with Amarok on Linux

When I first bought my iPod classic, Amarok hadn’t yet got support for the new SHA1 hashing that was being done in the song db. Then it was only in cvs, and while I remember compiling from source I don’t think I ever got round to running that code.

Of course I found out the hard way that Amarok didn’t have support for my iPod, and nearly bricked the thing. Thankfully a windows box and iTunes could reset it.

I now have it working, however it took a little fiddling. If you are trying to get it working, you absolutely must read http://amarok.kde.org/wiki/Media_Device:IPod before starting, especially #My_iPod_does_not_show_any_music, as this explains how to set up the magic ID number. Unfortunately earlier pages didn’t say whether to add the 0x in from of the ID, and I remember having lots of difficulty just with libgpod and gtkpod. While I am mentioning it, the versions you need for an iPod Classic are: Amarok 1.4.8 and libgpod 0.6.0

So you have them installed, and you want to get Amarok managing your iPod - Well, I plugged it in, amarok detected it popped up a window asking if it should mount it as an iPod. I said yes, copied some songs, ejected it and BANG! - My iPod wouldnt show any songs.

It seems that the data uploaded by iTunes isn’t the same as by Amarok, and the iPod doesnt like that. Deleting the contents of the iPod_Control folder from the iPod seemed to make Amarok and the iPod happy. Of course Amarok needed to recreate some folder structure, but it asked nicely. Also, if you do this, don’t forget you have to recreate your SysInfo file again before Amarok uploads any songs.

Anyway, I now have an iPod that I can upload to with Linux (which is a hell of a lot faster than iTunes - iTunes took about 30 hours to copy ~30G of music, Amarok took about 3 hours), podcasts work and even some cover art has been copied.

If you have any problems, you can reboot the iPod by holding the Menu and select button down together for a few seconds. If the songs list comes up blank, then you have something wrong and Amarok didnt write the hash correctlty - check the SysInfo file, delete all music from the iPod in Amarok, and copy a few test tracks, disconnect and check if you have it right.

You can also use the Smart Playlists to sync to the iPod - Favourite tracks, Newest tracks and All Collection are good ones to use. Of course you can create your own custom smart playlists too.

Best of all, Amarok is properly multi-threaded so I can copy my entire music collection to my iPod, while playing music and Amarok and writing blog posts - on windows syncing an iPod used to make the system struggle, and iTunes became rather unresponsive…

software raid1 and lvm on debian etch

Background

I have a fileserver box, which currently has 2×200GB disks in lvm to give me a 400GB virtual disk. This arrangement gets good use of space, but if one disk has a failure, then the whole filesystem is trashed and cannot be recovered.

The solution is to start using raid. Before I go on, raid is not a backup solution. It cannot protect you from accidentally deleting all your files, and will not protect you from a virus or malicious user or hacker. Raid just reduces the damage if a disk happens to fail (which knowing my luck, is sometime soon).

The final solution I want is 2×500GB disks in raid1 (mirrored) with lvm on top to split into my partitions. This way I could add another pair of disks in raid, add them to the lvm and not have to worry about which partitions get new space, as lvm will allow me to expand any parition onto the new space, and have a partition across multiple disks.

Why not raid5? Raid 5 is great for getting space, as you have n+1 disks, and get the space of n disks out of it as one is the redundant disk. The problem with raid5 is it is limited to the smallest disk in the raid. So 2 500GB disks and one 200GB disk will only give 400GB as each disk can only be used up to 200GB. Raid5 is great if all your disks are the same size, but if I want to add disks, and not have to replace all 3+ disks, then with raid1 I just have to buy disks in pairs. My pc has 4 ide slots and 2 sata slots, so raid1 should be fine (disks are getting quite bit these days).

So the plan is to add 2 500GB disks. put them in raid1 with a partition for /boot (which cant be in lvm) and the rest becomes part of a lvm group, with my / and /home partitions in there (and /tmp, swap)

How I did it

Continue reading ’software raid1 and lvm on debian etch’

Advanced Bash on the command line

Deadman.org: Advancing in the Bash Shell - well worth a read to improve your bash

Picasa updated on linux

Google has released a new version of Picasa for linux - It’s been a long time in the making, as the linux version has been behind the Windows one for ages