15 November, 2006

Why I'm not using only Linux

There are many people blogging about whether Linux is ready for desktop use or not, and whether there is any need at all to use Windows. With this short piece I thought I'd list a few of the reasons why I don't use it exclusively.
  1. It's not about OS installation, that's as easy as it can be for a lot of distros
  2. It's not about any perceived difficulty to install software
  3. It's not about not knowing what and how to do something
It's instead a lot about speed. A Linux distro is quicker to install and often has a much wider software selection (or you can compile it yourself). However, there is a lot of preparation required! You've got to read up on stuff, make sure things will work on your distro, possibly that all dependencies are satisfied, that supporting software is configured and running and so on and so forth. On Windows you install your software, sometimes you restart, and that's that.

Some say that the package repositories of many distributions are superior to finding and downloading some unknown installer from the net, but I have to say that just looking at the descriptions there it's impossible to know if you want to install a particular app, you will anyway wish to look at a web page with screen shots, documentation, FAQs and so on. From the actual install perspective the repositories are great, but from an information perspective they suck.

In short, with Windows you work less to get things working, with Linux you have more control, but you can spend aeons setting up stuff to work similarly to a Windows desktop if you're not happy with the defaults.

27 October, 2006

Wikis need maintenance

In the course of my digital media home efforts I have come across large amounts of documentation. This is good. Now, the problem is that in many cases this is stored in the form of a wiki, see for instance the recently mentioned ivtv driver project. Why is that? Yes, well, I'd like to join the choir complaining about the accuracy and actuality of the contents of a wiki. I myself have contributed to a wiki or two so I'm not against the idea as such, but since it is an effort that is largely uncoordinated it becomes inefficient when used to document an often fast-moving development project. Much of the information becomes stale and incorrect quite quickly and that creates a barrier to new users, especially inexperienced ones. I can sometimes guess what is valid info at a certain time and what is not, and I'm not afraid to ignore documentation when it doesn't fit my scenario and make my own adaptations, but it takes some experience to do that.

So, by all means use a wiki to flesh out documentation for stable projects, or to document certain (stable) releases, but in the case of something that's changing all the time, you have got to develop documentation along with the application, however brief or sketchy it might be.

Now, some would say that if you discover issues you could update the wiki - sure, but that's not what I can spend my days on! In order to do that I would have to research the issue and create a correct article, which could easily take days when you're not familiar with the subject area. I've got a day job... The developer(s) are of course intimately familiar with their app and so would be ideal candidates for documenting the stuff. I realize they too often have day jobs, but hey, docs are a part of the app!

16 October, 2006

iTV isn't so new

Ok, I did read this Engadget spot last month, but I've since then noticed a couple of mentions of Apple's new media stream receiver, iTV (mentioned for instance in the iTunes7 press release). As the release says though, iTV will not be the final name... yeah, whatever.

Anyway, some of these mentions say that it is "the first" network media player, which is just plain wrong! I get so annoyed that tech writers have missed things like D-link's DSM-320, the Hauppauge MVP, some of the Kiss DVD players, the Pinnacle showcenter and so on and so on. I forget some too, but hey, some of these commentators have just sort of missed a whole category of products. Jeez!

09 October, 2006

Some comments on the instructions from Pendrivelinux

Here's another take on the problem of getting Damn Small Linux onto a USB stick, from Pendrivelinux, with my comments. The original is here, and it was written by "~The Pendrive Doctor~ ". Note that I've only commented the process itself, there's some more details in the original - I've taken the liberty of editing the text a bit.

  • Download the HP USB tool and format your stick with the tool using the Fat or Fat32 option.
This is a useful tool as it will format any usb stick, even when the Windows Disk manager sometimes doesn't seem to want to do it. Remember though, that syslinux only supports FAT so avoid FAT32. I used another Linux system as a go-between.
Or, the .iso, but then you need a tool to extract the contents from an iso (or burn it to a cd first), plus you need to rearrange the files that go onto the stick, as well as renaming the isolinux.cfg file into syslinux.cfg (see previous post).
  • Extract the files from dsl-embedded.zip to your USB stick.
If you use the .iso don't forget to rearrange the files as per my previous post.
  • Download and extract syslinux to a directory on your computer.
  • Run the command prompt in windows (start/run/cmd) and CD to the syslinux directory.
  • Once there simply type syslinux.exe F: (F: being the example drive letter of the USB stick in this system)
  • Reboot your PC, go into your system BIOS and set your boot order to boot from any selectable USB device. (example USBZIP or USB_HDD)
  • Save your BIOS settings. On the next reboot, you should have a sucessful launch of Damn Small Linux from USB. Enjoy!
I hope that helps someone :D

03 October, 2006

So, the get-DSL-on-USB procedure...

Ok, I know, the easiest way to get DSL on a USB is to just boot from a live CD, frugal or usb-frugal and use the builtin script, see the DSL FAQ. However, if you want to do it yourself from Windows you need the following:


The USB (or at least the partition used to boot, although I haven't tried using more than one partition on a stick) cannot be larger than 2GB since you will have to use the FAT file system. FAT32 does not work as syslinux only handles FAT, so make sure that when you format the stick you make it FAT. I first tried FAT32, which didn't work of course, but I failed to see why until I read the syslinux documentation.

Another small gotcha I encountered was that when I formatted the stick in Windows, the partition was not marked as active/bootable, so obviously it didn't boot. I was unable to do this from Windows, so my solution was to use Linux cfdisk to mark the partition bootable (I had Slackware 10.2 running in a VMWare setup). If anyone knows how to do this from Windows I'd be happy to know!

When the stick is formatted properly you'll just need to extract all files from the ISO onto the stick, and then move all files from the isolinux directory (DSL-N) or the boot/isolinux directory (DSL) to the root of the USB stick. The reason is so that we can use syslinux in a simple manner. Remember to take note of which drive letter the stick uses.

Syslinux works by looking at a configuration file on the partition it works on. There already exists one, but it is called isolinux.cfg. Isolinux is just a variant of syslinux intended for cd booting. Rename it to syslinux.cfg and if you feel adventurous you can change the contents. It will probably work without changes but if you're interested, check out the syslinux homepage. Note that there's also a file called isolinux.bin. I ignored that one and everything seems to work fine. YMMV.

Now open a command line window and navigate to wherever you put the syslinux package. There's a win32 directory inside that contains a binary for windows (9x/ME/2K/XP) so go ahead and run

syslinux <usbdrive>:

If you remember the contents of the USB there is a file called linux, which is the kernel. Syslinux will boot that kernel automatically, but by changing syslinux.cfg you could make it boot other kernels too.

If you now look at the contents of the stick and have set windows to show hidden files you should now see a file named ldlinux.sys, and that tells you everything is done. Reboot the computer and if you remembered to set up the BIOS properly you should within a few seconds be looking at the DSL/DSL-N boot screen.

I'll try to summarize in a later post, gotta go, have fun :D

(Oh yeah: this works for me, I make no guarantees, everything that goes wrong as a result of following these directions is entirely your own fault)

01 October, 2006

Ok, WTF's this U3 garbage that doesn't work on Win XP?

Just have to throw in a complaint against Sandisk and their decision to incorporate U3 on their Cruzer Micro's. As I wrote in my last post I have been looking into putting the latest version of the big brother of Damn Small Linux (DSL-N) on a USB flash drive. I felt I needed to have another drive so I went to the local Clas Ohlson store and got myself a 2GB Sandisk Cruzer Micro. I already have a 512MB Cruzer which I like. Later I noticed the new disk comes with U3 software on it - I had heard about it so I knew what to expect and I think it's a neat idea to be able to bring your environment with you and not leave a trace on the computers you use. After all that's partly why I like DSL... I thought I'd just uninstall it if I didn't like it. Turns out I didn't, I ran it on my work computer first and it seemed to work ok but it just didn't seem like something I could use regularly.

So, how to uninstall?

First I discovered there was an update from Sandisk but for some reason the installer could not download it. Seemingly had something to do with the network at work since I later found it worked from another network. While there I found two tools, the Launchpad remover and the Launchpad installer. Second I noticed that the U3 software was located on a virtual cd-rom and I was unable to get rid of this by any "normal" means - I used OpenBSD and Slackware Linux to have a closer look at the device but it looked like real hardware. Reading through U3's site I understood that it actually was a hardware thing so I could not get rid of it by any standard means. The Launchpad remover seemed to be what should do the trick however. And trying the stick in my home PC (Windows XPSP2, AMD dualcore) it did not run well - it took ages to start, plus the application claimed that the stick "is not a Sandisk U3 device". Annoying does not begin to describe it!!! I tried running both the launchpad tools (remove and install) but same answer, "please insert a Sandisk U3 device" (or something along those lines).

Luckily U3 also provides their own removal tool for U3 sticks from other vendors, but it actually worked fine for me! Then I found a couple of mentions about similar problems so for fun I tried both tools on my work computer (couple of years old, Windows 2000SP4) and lo, it worked great.

Conclusion

Sandisk's U3 tools/drivers are not compatible with WinXp on a dualcore box. On a longshot it could be vmware that interferes as well, but I don't know and don't care much. Plus, it's quite useless if you anyway don't always run Windows. The amount of space taken by U3 is not large but it's a waste nevertheless (for me! I don't have any beef with the idea as such) and an annoyance, and it seems to be a hack as the quality of the code is not up to what I would expect from someone trying to sell a sort of turn-key solution for mobile computing.

I'll try my own hand at this, thank you, so that I know what's going on, using Linux or something else.

29 September, 2006

Boot DSL from USB - A small deviation from the irregular schedule

I have been annoyed by the lack of a decent description of getting Linux to boot from a USB stick, specifically DSL and DSL-N. Oh, I know there are descriptions, but by "decent" I mean a full description that allows me to extrapolate for my specific needs, not just a simple recipe. So after having finally sat down to read some more documentation I finally understood how to do it and solved a few problems along the way. Since I have many more important things to do I am naturally escaping those by writing down parts of it - and yes, that will probably mean another meaningless recipe but the goal is to at least bring up the gotchas that I encountered, hopefully someone will find it useful.

To begin I had a 512MB stick with DSL 2.something and since DSL3.0.1 is out, as well as DSL-N 0.1RC4, and I was itching to try them both out. Obviously I could have made it easy for myself by ordering a stick with DSL already on it, but I've never liked doing it the easiest way. Oh, and I plan on making a donation instead but so far I've just toyed with DSL, and I need to find the time to figure out how to work properly with it, notably compile my own apps (myDSL isn't as up-to-date as I'd like) and of course actually find a scenario where I really use DSL. Currently, booting from a USB stick and even embedded on my work computer using QEMU is just something that's cool and fun :-)

I got DSL2 on the USB stick by booting Knoppix 4 and downloading a "usb creation" script from the ibiblio mirror (can't find it now though). This gave me a version which could both boot directly and which could be started from within windows so that was too cool I thought, especially since at that time my desktop machine broke (Shuttle SN45G suddenly refused to start, turned out to be the motherboard, possibly the BIOS chip) so I wanted to use my work laptop for other things than work and without the horrible overhead of a typical corporately managed machine. In addition the hard disk is encrypted so I couldn't easily resize the partition and install any OS on unused space.

Of course that worked fine. But this time I wanted to do it myself. The small recipes that I did find were brief so I figured it couldn't be too difficult, and this was correct. I am just the type of person who needs to understand a little bit more than just how to do something, namely why I'm doing it and what I am actually doing. Next post will be about what to do, why you do it (as far I understand at the moment) and some issues you may encounter along the way.