jump to navigation

Ubuntu Intrepid Ibex Dissapoints 17 November, 2008

Posted by aronzak in Debian, Distro Wars, Grub, Linux, Ubuntu.
Tags: , , , , ,
add a comment

Ubuntu has a long and sad history of disregarding the needs and wants of power users in their drive for ease for users who are unfamiliar with, and have little inclination to become familiar with Linux. To me, it’s dissapointing. More hardline flamers have become angry at Ubuntu and Canonical. This is my experience.

I have a cheap computer. An old one died, so I simply bought a few cheap components to replace the dead box, reusing some drives. The machine has integrated grpahics, because I haven’t coughed up for a real card yet. Vesa drivers work fine, but both the 2d nv and proprietary nvidia divers don’t work. Probably because the mbo only cost me ~70AUD. I’ve known about this since I’ve had the machine. I can’t be bothered to fix it, because I can use 3d apps on another machine.

Ubuntu Intrepid Ibex uses a new version of xorg. Supposedly, it has a very little configuration needed and can dun with no /etc/X11/xorg.conf. This sounds like a good idea. But, for me it means that there are problems.

After finishing the Debian installer, Ubuntu boots. No grub menu is shown, another pet peeve I have. If you do hit escape, you are confrinted with an ugly, black screen. Then you get usplash. Great for some. Then again, if you turn it off you get ugly readouts from a kernel with useless timing enabled. Ok, this is a problem in Debian too, but I compiled my own kernel. Then you get the same ugly gdm theme Ubuntu has been using since forever.

The problem is, gdm didn’t come up. Rather than dropping to a shell to let me diagnose this, there is an ugly black screen with low resolution. I try as few options, none of which work. To finish applying settings, I’m informed that the xserver will restart in one minute. Pressing ok leaves the screen pitch black. The Ubuntu developers must be fond of black.

Dropping to a shell lets me find that there is indeed an xorg.conf. Wonderful. startx works, after killing xinit. And he voila, gnome appears. In SVGA (800×600) resolution. Xrandr will only let me change this down to 640×480. Brilliant. Copying over Debian’s configuration file is no good. Somehow, the new xorg does not accept screen resolutions in the configuration file. Anyway, after trying the other trick I’ve heard of, I remove the file. This works wonders, and now, somehow, my screen size becomes 1024×768 when using startx. No such luck when starting, the xserver still refuses to start. My next move is to uninstall the nv driver. Good thinking, I hear you say. Well, now gdm will start. But somehow, my former trick doesn’t work, and I am stuck with SVGA. So what am I supposed to do? Reinstall a broken driver?

Forget it. I’m sticking with Debian. Debian has failed in interesting ways, but I have always been able to fix it. I don’t like xorg.conf, or for that matter grub’s menu.lst, or fstab. But I’ve just learned to get used to them. Sooner or later I’m going to man up and just use vim. Don’t get me wrong, making the user do less work is great. I like apt, and rarely compile anything from source. I’m not a sadist. But, I think that these ‘miracle’ fixes, like having no configuration files, are a dumb idea. Why? Because there are situations that no developer can foresee, and they will end up just not working. And what do you do then? You edit the configs. I’ve done things the hard way, and my Debian install has more or less worked ever since.

Advertisements

USB Linux Howto: Ttylinux 12 November, 2008

Posted by aronzak in Linux, Live Linux, Live Usb, Syslinux.
Tags: , , , , ,
1 comment so far

I’ve found ttylinux to be quite useful. For a while it was not actively maintained, but now Douglas Jerome has stepped up as the new maintainer. It’s a small, fast text based Linux distribution that is an invaluble part of my usb toolkit. It can mount a usb drive, giving quick access to be able to modify important files.

Nicely, while ttylinux is only ~10 megabytes, it has bash, the most used shell, rather than a smaller alternative. I’ve added in nano, an editor that I prefer to vi.

The default login is “root” password “root” or “guest” “guest”. Ttylinux loads its entire filesystem as an initial ram disk (initrd). The filesystem is easily modified (It’s a loopfile), but the bundled applications are fairly good. You can munt (and then modify) the entire system in an existing Linux install:

mkdir mount
mount -o loop filesys mount

NB. To start up properly, edit etc/rc.d/rc/sysinit and comment out these lines:

echo "Starting fsck for root filesystem."
fsck -T -C /
if [ "$?" -gt 2 ]; then
echo "WARNING: Errors found while checking root filesystem."
echo "You can login as root now, the system will reboot after logout."
sulogin
reboot
elif [ "$?" = "2" ]; then
echo "NOTICE: System needs to be rebooted now."
sleep 1
reboot
else
echo -n "Checking root filesystem: "
check_status

Or else fsck will fail on every boot (modified filesystem) and make you reboot.

The new version 8.0 is maturing. More final versions should be coming out fairly soon.

USB Linux Howto: Adding Another Distribution 7 October, 2008

Posted by aronzak in Backtrack, Linux, Live Disk, Live Linux, Live Usb, Puppy Linux.
Tags: , ,
2 comments

You should already have a bootable USB stick with a Linux distribution. The non destructive method uses a tool called “Syslinux” to boot up. You can modify the settings to boot multiple Linux distributions, and use other tools.

There should be file called “syslinux.cfg” on your USB stick. It will be on the root of the drive or in boot/syslinux. It should have something like this in it:

default vmlinuz initrd=initrd.gz ...

Change this to match this format:

LABEL default
KERNEL vmlinuz
APPEND initrd=initrd.gz ...

Next, copy everything from a Live cd or an extracted .iso file (using winrar or another program that can extract an .iso file) your USB stick. Copy everything inside the file isolinux.cfg and paste it at the bottom of syslinux.cfg. Now, in order to allow you to choose what to boot, add to the top of syslinux.cfg

DEFAULT default
PROMPT 1
TIMEOUT 150

This will give you a choice of what to boot when you boot off your USB stick, and will boot the default after a time of 15 seconds.You’ll need to type the label of each Linux distribution at the prompt. Make sure you set the distributions with obvious labels. It may be helpful to set the labels to numbers. Additionally, you can display information when you boot up off your USB stick. To do so, create a file called Menu.txt saying something like this:

Booting off USB
Choose one of the following:
1 - Puppy Linux (default)
2 - Backtrack
Press Enter to boot the default.

Then edit the top of syslinux.cfg, adding this:

DISPLAY Menu.txt

If you want to move any files, change the information in syslinux.cfg to reflect this.

Back to USB Linux Howto

USB Linux Howto: Puppy Universal Installer 7 October, 2008

Posted by aronzak in Linux, Live Disk, Live Linux, Live Usb, Puppy Linux.
Tags: , , ,
5 comments

This will guide you through installing Puppy Linux on a USB stick using its graphical installer wizard. You’ll need a version of Puppy on a CD or USB stick. If you already have one, skip down. If you don’t follow this:

1. Download the latest version of Puppy Linux. Download a CD disk image (.iso file).

Then, either use a CD or use virtualisation software.

Using a live CD:

2. Burn the .iso to a blank CD
(Note: You need to burn the contents of the .iso to a disk, don’t just put the iso on the disk as a file. You’ll need to play around with your cd burning software to get this to work. Try not to waste a disk.) Software like nero or alcohol120% or even a Windows CD burning wizard (part of the file manager in XP) should be able to do this properly.)

3. Reboot. Either alter your bios settings (usually press delete at boot) to set booting off the CD above booting off your hard disk, or use a boot menu (usually press F12 at boot. Then, select CD from a list) You should see a menu with colours, and after five seconds Puppy should boot up.

Using QEMU:

2. Install QEMU for your computer. Packages for Windows are available here.

3. Run QEMU with the option -cdrom puppy-whatever.iso and the location of your USB stick. More here.

qemu -k en-gb -m 512 -localtime -boot d -cdrom puppy-3.01-seamonkey.iso /dev/sdb1

Now follow this guide to use Puppy Universal Installer

1. Choose your keyboard settings, and then ‘xorg’ and the correct screen resolution.
Puppy should boot up, and you should see the following screen:

Puppy's Desktop

Puppy Linux's default Desktop

If you have no luck, you may need to change settings or add boot parameters (such as ‘noacpi’) next time you boot up, that sometimes can make it work properly.

2. Left click on the bottom left menu icon to bring up the menu. Select “puppy universal installer”.

Setup > Puppy universal installer

Setup > Puppy universal installer

3. Choose to install to a usb stick (the first option).

4. Choose your device.

5. Choose the first option. The others are strange and experimental, and sometimes work with old hardware, but it is not recommended.

6. Choose from CD if you are using a live disc.

7. Choose “mbr.bin from the syslinux package.” It seems to work the best, and is what I’ll use in the rest of this guide.

8. You may need to set the usb stick’s partition to have a ‘boot’ flag set using a great tool called gparted. Gparted is quite easy to use, just read what comes up on the purple popup.

9. An orange box should pop up. Press enter to continue.

10. Congratulations; the stick should now boot Puppy. You can use BIOS boot order or a boot menu to boot off USB.

More on USB Linux Howto.

USB Linux Howto: Puppy 4.1 7 October, 2008

Posted by aronzak in Linux, Live Linux, Live Usb, Puppy Linux.
Tags: , , ,
2 comments

Puppy Linux version 4.1, or ‘410’ is now the latest version of Puppy Linux that has many improvements ‘under the hood’, while there are few immediately apparent changes. This is what’s new:

– Bugs fixed
– Newer kernel, newer software. Also, a new kernel compression system.
– Now there is no zdrv.sfs, meaning that there is one less file to deal with.
– New applications, including:
– F-prot virus scanning for Windows drives
– Blog software, which can be used as a personal diary, or exported.
– Voice over IP client using SIP

Here’s how to put Puppy 410 onto a bootable stick, using Ubuntu Intrepid Ibex. If you don’t already have a bootable USB stick, follow this. If you already have a CD or USB stick version, you can use the ‘Puppy universal installer’ method here.

1. Download a cd disk image (.iso) from here. It should be about 95 megabytes.

2. Open the .iso with file-roller (called “Archive manager”)

3. Extract the iso to your usb stick. Here, it is called “CORSAIR”, a Corsair Flash Voyager.

4. Open isolinux.cfg

6. Select text in the middle of the file and copy it to the clipboard.

5. Open syslinux.cfg. This might be in a folder called ‘boot’ and ‘syslinux’

7.  Paste the information at the bottom of syslinux.cfg

8. Change the entry to your needs, and change pmedia=cd to pmedia=usbflash. If you have the file syslinux.cfg in boot/syslinux, you’ll need to add a slash to vmlinuz and initrd.gz

9. Save the file. Safely eject the stick with the eject icon, and then have fun.

Stay Away From Grub2 30 September, 2008

Posted by aronzak in Debian, Grub, Linux, Ubuntu.
Tags: , , , , , , ,
63 comments

I strongly recommend that you don’t try upgrading to grub2, and developers don’t implement it in new releases. I have a multiboot setup like most users, and bad things happened to me.

Having read about ‘new features’ in the next version of the GNU Grand Unified Bootloader, grub2, I decided to upgrade.

At first, the grub2 installer kept grub ‘legacy’, which could chainload into grub2, with the first entry in grub being:

title        Chainload into GRUB 2
root        (hd0,2)
kernel        /boot/grub/core.img

Unfortunately, I then removed grub legacy, replacing it entirely with grub2.  This left me booting into a screen with only Debian entries. This is no good; I have other distros on my laptop, like most users would have other OSes such as Windows.

So, next, I decide to edit the configuration file. I am used to editing menu.lst. Grub2 does not use menu.lst, it uses a file called grub.cfg (easy to confuse with grub.conf, which in my CentOS install menu.lst is a link to).

Let me digress and talk about the differences between grub.cfg and menu.lst.

Here’s menu.lst; with a familiar header:

# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-doc/.

As well as being full of comments that help users to understand and edit the file, as well as ‘examples’ of Linux and Windows entries. Then there are the entries themselves, using a familiar, clean tabbed format that is default in Debian.

title        Debian GNU/Linux, kernel 2.6.26-1-686
root        (hd0,2)
kernel        /boot/vmlinuz-2.6.26-1-686 root=/dev/sda3 ro
initrd        /boot/initrd.img-2.6.26-1-686

title           Ubuntu /dev/sda1
root            (hd0,0)
kernel          /vmlinuz root=/dev/sda1
initrd          /initrd.img
savedefault
boot

As well, I have a list of kernels that Ubuntu populated using update-grub, and that can be loaded using ‘configfile’

title        >Ubuntu List
root        (hd0,0)
configfile    /boot/grub/menu.lst

But to edit grub.cfg, first we get this friendly welcome:

# DO NOT EDIT THIS FILE

Then we get these nice, easy, simpler list entries:

menuentry "Debian GNU/Linux, linux 2.6.26-1-686" {
linux    /boot/vmlinuz-2.6.26-1-686 root=UUID=124b49d6-a3eb-4eae-9e5d-e0000b5efda3 ro
initrd    /boot/initrd.img-2.6.26-1-686
}

The problem is, they aren’t. After users have struggled for a long time to edit menu.lst in order to make their computers boot properly, they will now need to learn a complicated, obscure format. It seems difficult if not impossible to convert boot entries in menu.lst files to grub.cfg files, with time being wasted adding unnecessary brackets and quotes, whereas they were not needed before.

Back to what happened. So, wanting to add in an Ubuntu entry I take menu.lst, and use find and replace to change ‘title’ to ‘menuentry’, ‘root’ to ‘set root=’ and ‘kernel’ to ‘linux’. Makes perfect sense. So I enter the following entry based on menu.lst

menuentry    "Ubuntu /dev/sda1" {
root=(hd0,0)
linux              /vmlinuz root=/dev/sda1
initrd          /initrd.img
}

The problem is, after ignoring  the ominous “DO NOT EDIT THIS FILE”, grub2 then refused to boot anything, throwing up an error that I need to boot the kernel first. Before what?  Luckily, I had a version of grub legacy on my usb stick, and only wasted about 10 minutes installing grub back onto the hard disk. Now my laptop works fine, and is able to boot into Ubuntu, Debian and CentOS.

I have a feeling that this problem arises with the difference in partitions, since grub2 seems to use variables that remain set for a section, rather than having a ‘root’ line in each entry. This probably makes sense in some applications. It sounds like a good idea for USB sticks, where the stick will change position in relation to other disks on different computers (but the UUID won’t change). If you want to edit your grub.cfg, probably edit the ‘custom’ section, rather than adding an entry in the ‘linux’ section

So, for me grub2 could only boot up Debian or nothing at all. There is very little documentation on how to edit the confusing grub.cfg, compared to menu.lst, where there is much community support. Whatever the benefits of grub2 are, I don’t think that they are worth the damage it could cause. Developers should steer clear of using the code, as it will only mean grief for the end user.

Using Unetbootin to install Linux to a USB stick 28 September, 2008

Posted by aronzak in Linux, Live Linux, Live Usb, Syslinux.
Tags: , , , ,
2 comments
Unetbootin

Unetbootin

A new program, Universal Network Bootloader Installer (unetbootin) can be used to set up a USB drive to boot. It can be run on Windows 2000 and above and Linux. It’s very simple to use. First, download and install unetbootin. Then:

– Make sure you have a USB stick with free space. You shouldn’t need to backup your files, but it’s always a good idea.
– Download a disk image (.iso) of the Linux you want to put on the stick.
– Run unetbootin
– Select ‘diskimage’ and select the .iso file
– Make sure you have the right USB device and press ‘OK’

Or, if it is listed in the program, you can just run that.

That should then set up your USB device to boot up.

You can then go on to add more versions of Linux or other tools to the stick.

Back to USB Linux Howto.

Howto: Syslinux and Grub on one USB drive 16 September, 2008

Posted by aronzak in Grub, Linux, Live Usb.
Tags: , , , , ,
13 comments

Intro: This is probably the coolest thing that I have done with USB bootloaders up until this point.Syslinux is an extremely useful tool that can easily and safely be installed to a usb flash drive. It can then be used to boot any version of linux, or even floppy disk images on the drive. But is is limited in that it cannot boot up operating systems on another drive. It can chainload to a working bootloader, but what if it is broken and needs to be fixed. Of course, you can start up a Linux distribution on the usb stick to fix it.

Grub is an extremely versatile tool that is used to boot up almost any operating system other than Windows. It can also be used to modify some files, or install another version of itseld to another hard disk. This is extremely useful if you have a broken grub installation.

Well, you can run boot grub from syslinux. And it’s really easy.

Step one: Stick syslinux on a drive. See this guide for easy installation of Puppy Linux.

Step two: Download a file called grub.exe. It can be found here.

Step three: This is a windows executable file (.exe) that can be run from dos. But the most impressive thing: It’s actually a linux kernel. Plonk it on the root of the drive.

Step four: Start up the usb stick and type “grub.exe’. Then, you’ve got grub. That’s it.

The rest is optional.

– Stick grub.exe in boot/grub and create a syslinux.cfg entry called grub looking like this:

LABEL grub
KERNEL /boot/grub/grub.exe

– Create your own menu.lst.

– Use a hex editor (eg. “khexedit”) and search for “timeout” or “default”. You’ll find the section that is the pretend ‘menu.lst’. You can edit as such.

– Download a useful grub tool chest called SuperGrub Disk (SGD) from here. Extract the .tar.gz onto your usb stick (should be in a folder called boot). NB. This does not work out of the box. SGD uses a customised version of grub that has a command setgrubdevice to set a variable called $grub_device. This is then used in ($grub_device). If you use Grub.exe, it does not understand this, but does not need it, as it already sets root to the correct device. You can use kate (KDE Advanced Text Editor) to remove all references of ($grub_device) (Use find and replace to replace it with nothing). Better is probably the following solution.

Edit: By accident I installed grub onto the device. Interestingly, syslinux still works fine. Syslinux has its main part in the partition of a drive, not the whole drive. Thus, grub can chain to syslinux using “root (hd(x),0) rather than “root (hd(x)”. Syslinux can also chain back to grub itself, (using chain.c32) or start grub.ex.

Multiple Linux distros on one usb drive: Msramdmp 6 September, 2008

Posted by aronzak in Live Usb.
Tags: ,
add a comment

A few students from Princeton published a paper that outlined how you could potentially attack a compouter, taking encryption keys using a ‘cold boot’ attack. The underlying principle is that information stays in the ram after a computer has been turned off. If this is cooled down to -50 degrees C then information stays in the ram for longer.

Msramdmp is created by Mcgrew Security to mimic the Princeton method. It boots up, and starts copying information from the ram onto a partition of a usb stick. This tool could potentially be used to recover information from a computer.

Howto:

1. Download the tool here and extract it to a usb stick.

2. Use cfdisk or some other tool to create a partition type 40 on the drive. The partition should ideally be larger than the size of the ram. (The tool does not actually use type 40 Venix 80286 filesystem, it just marks the partition as such). You may have more success if you clear out the drive with dd if=/dev/zero /<usb drive>

3. Boot up the drive and type msramdmp (if msramdmp.c32 is on the root of the drive). The tool will copy information to a type 40 partition and change it to a type 41 partition (PPC PReP Boot)

USB Linux Howto: Backtrack 31 August, 2008

Posted by aronzak in Backtrack, Linux, Live Usb.
Tags: , ,
1 comment so far
Backtrack's Desktop

Backtrack's Desktop

Name:    Backtrack 3
Website:  http://www.remote-exploit.org/backtrack.html
Wiki:        http://en.wikipedia.org/wiki/BackTrack
Size:       778 MB

Backtrack is an excellent distro. It comes with a nice looking KDE 3 interface, and features a large number of tools. Most of these you would have to learn about first in order to use. It also has a pretty framebuffer interface that makes the shells (shown during startup) look really nice.

Backtrack has working wifi drivers for some atheros cards, and works out of the box on my Asus Eee PC 701. Comes with aircrack-ng and other interesting software. Try not to get caught.