This is going to chronicle things I've solved, which you may find useful.

I'm trying to run a linux game, and I got a segmentation fault, followed by the message "SDL parachute deployed"

I'm trying to su under linux, and I'm entering the right password, but it doesn't make me root.

I'm using MacOSX, with X11, and my global clipboard doesn't paste into my ssh shell session using an xterm. I'm trying to use the Copy and Paste functions from the X11 Menu bar.

I have an Apple Powerbook G4 (or some other MacOSX system) with no serial ports, and I want to use it to control a serial device. How do I do that?

I'm using Gentoo, I've setup /etc/ssh/sshd_config to forward X11 connections. I'm attaching from an ssh client with X forwarding enabled, but I get complaints from either Xlib, or claims I need to check the DISPLAY environment variable. What's going on? I had this working properly before!

Unfortunately, I need a file that I can only find as part of a Windows .cab file. I know that the .cab is really just a file with files inside it. Can I get at those files without having to use Windows?

Unfortunately, I need a file that I can only find as part of a Windows .exe file. I know that the .exe is really just an executable that calls a unzip program, and that there are files inside the .exe. Can I get at those files without having to use Windows?

How do I grab screenshots on various operating systems?

How do I make Gentoo start up with the X login screen like I'm used to on my other flavors of linux?

With Mozilla, when I hit print, I get a message saying "Printer Error: There was a problem printing because the paper size you specified is not supported by your printer."

I've been getting mystery phone calls from 877 223 8736. I have a Sprint cell phone

I want to transfer data off my system while I change around my disks, then I want to transfer it back, and I don't want to mess up my permissions, file dates, etc. How do I do this?

I want Firefox to load pages faster and let me do things that web pages don't want me to do.

I want to mount my MacOSX disk under linux (I'm booting the Gentoo G4 live disk) so I can recover some data.

I want to put some things in /etc/rc.local that will startup after all the other init scripts, but I'm using Gentoo, and this isn't working.

I have a Micron model 900Lx, aka 9A10. What are the HorizSync and VertRefresh values, so I can get this working with X?

I have an Intel 2915 A/B/G wireless network chipset / card using the ipw2200 drivers. How do I get this to negotiate with a WAP using WPA?

I dual-boot Gentoo with Windows, and Windows thinks the hardware clock should always be local time. How do I tell Gentoo the clock is local?

How do I properly use cdrecord with linux on a Dell Latitude D610?

How do I build doxygen from source on Windows XP?

How do I get pretty fonts under X on linux?

I'm trying to use Scribus under linux, but it complains it can't find fonts, then exits

How do I stop Firefox from running "Quick Find" when I'm on a webpage and hit a keyboard key?

Using konsole, I was trying to hit Ctrl-Shift-n for new console, but instead hit Ctrl-Shift-s, and my shell froze. How do I unfreeze it?

How do I BIOS flash a Dell or other system that wants a floppy boot disk, without having a floppy drive?

How do I change Gentoo, using KDE, to use a dvorak-mapped keyboard?

What Gentoo packages are helpful when setting up a cups server?

How do I toggle on / off my external video port on my laptop, using Linux?

I'm trying to run a linux game, and I got a segmentation fault, followed by the message "SDL parachute deployed"

My bugreport is here. I setup Gentoo linux on a system in my office. I wanted to go ahead and install some linux games. I've never actually played these on work time, but I wanted to make sure these were installed. They serve as stress relievers if ever absolutely necessary, and test graphics and sound on the system.

So I installed everything I wanted, including tuxracer and supertux. Tux Racer is a game where the player is a penguin sliding down a hill on their belly. Aside from merely navigating the course, Tux is also expected to collect herring, and beat a maximum time for the course. Supertux is a fairly loose clone of Nintendo's Super Mario Brother's 3, with Tux in a perpetually frozen world, hopping, breaking blocks, and the usual things you would expect from a Mario clone.

I did an emerge tuxracer supertux, and everything built and installed with no errors. I tried to execute tuxracer, and it immediately failed with the message:

bash-2.05b$ supertux
Datadir: /usr/share/games/supertux
Fatal signal: Segmentation Fault (SDL Parachute Deployed)
  

I figured something was wrong with build, so I would rebuild it. But first, to try out Tux Racer, which gave the same error. Something seemed horribly wrong. I didn't know what SDL Parachute Deployed meant, so I tried googling for it. I got useless mailing list posts about specific coding errors in pieces of code for other games. So I added the word tuxracer, which found lots of people reporting similar situations, and nobody ever reporting what the fix was. I had successfully built and ran these games at home, so I couldn't figure out what on earth was going on.

As this system was a work system, it had a sound card, but I hadn't hooked up speakers, and hadn't bothered to configure the sound card drivers, and THIS was the problem. Nowhere do you get a clue that this is a problem from "Fatal Signal: SDL Parachute Deployed". Here's the top hit for SDL. If you don't want to read that, it mentions that SDL is a library that works underneath games and controls audio, keyboard mouse, graphics, etc., which leaves a very large number of things that could be the real problem. Audio was listed first in that list, but I paid no attention to that, as it looked like it might have been an alphabetical list.

I configured this system with the latest version of KDE, and I'd finally gotten annoyed by the error message popping up about not being able to find a sound device when starting up, so I used alsactl to configure my alsa drivers for the sound card, and then, on a whim, decided to check whether I still had the problem with my linux games. This solved my problems, and I updated my bug report on gentoo.org.

I'm trying to su under linux, and I'm entering the right password, but it doesn't make me root.

The user who wants to be able to su must be a member of the wheel group. Edit /etc/group and add that user to the wheel group.

I'm using MacOSX, with X11, and my global clipboard doesn't paste into my ssh shell session using an xterm. I'm trying to use the Copy and Paste functions from the X11 Menu bar.

The menu Copy and Paste functions using Apple+c and Apple+v don't seem to work. But the trusty old method of "middle click" does seem to work, at least to paste. For this function, first enable "Emulate three button mouse" in the X11 Preferences. Now you should be able to press and hold the Option key while pressing the mouse button (you only have one) to paste.

A bigger annoyance is that "out-of-the-box", when you've first installed X on MacOSX, X forwarding is disabled. Fix this by pulling up a terminal, sudo su -, vi /etc/ssh_config, and set ForwardX11 yes

I have an Apple Powerbook G4 (or some other MacOSX system) with no serial ports, and I want to use it to control a serial device. How do I do that?

You need two things. First, you need a physical device that will take one of the open ports you do have, and provide a serial device. The one I chose is the Keyspan USA-19HS. This is a USB-to-serial converter. I think it cost about US $25. This hardware device then needs software to make MacOSX recognize the new serial device. This comes on a cd from Keyspan, and I think you can also download it from their website. The program I needed was called Keyspan Serial Assistant.

Now you need to use whatever software you need to control your serial device of choice. In my case, I needed a terminal emulation program to control a 3com network switch. I used Fink to install the free linux tool called Minicom. This only gets you part of the way. You need to tell Minicom which device it needs to take control of. You can get this info from the Keyspan Serial Assistant. It will tell you some device that might have the string USA19X, and you then want to feed minicom the device /dev/tty.XXXXXXX where the Xs are provided by the Keyspan Serial Assistant or an
ls /dev/tty.*

One more annoyance. You have to use Minicom as root, which you can get to by doing a sudo su - and then entering the password for a user who has Admin privileges. The first time you invoke minicom, you have to say minicom -s. All of this presumes you care enough to get Fink working, and have all your paths set properly for command line usage.

I'm using Gentoo, I've setup /etc/ssh/sshd_config to forward X11 connections. I'm attaching from an ssh client with X forwarding enabled, but I get complaints from either Xlib, or claims I need to check the DISPLAY environment variable. What's going on? I had this working properly before!

There was a change in the configuration files in a recent update to pam, and this is causing the mistake. This is horribly insidious, and I banged my head against the wall until I finally found this with google. The trick is to edit your /etc/security/pam_env.conf file, and comment out the two entries that begin

REMOTEHOST
DISPLAY
and this should take care of the problem. Don't have to restart any services, just log out of ssh and try connecting back in again.

Unfortunately, I need a file that I can only find as part of a Windows .cab file. I know that the .cab is really just a file with files inside it. Can I get at those files without having to use Windows?

Yes. There is a tool called cabextract that does what you need.

Unfortunately, I need a file that I can only find as part of a Windows .exe file. I know that the .exe is really just an executable that calls a unzip program, and that there are files inside the .exe. Can I get at those files without having to use Windows?

Yes. You can use the program called unzip which is installed by default with most linux distributions. Unzip should ignore the .exe stuff and pull out the files you want.

How do I grab screenshots on various operating systems?

How do I make Gentoo start up with the X login screen like I'm used to on my other flavors of linux?

First some background. Runlevels on *nix systems have numbers. You probably know that runlevel 5 on Redhat and many other linux systems is "always-on-X" mode, where you get a graphical login screen, controlled by xdm, gdm, kdm, etc. To get that working on gentoo, you'll have to first emerge the graphical login program of your choice, like kdm. Next, if you want to mimic the behavior of runlevels in a flavor like Redhat, you'll need to create that separate set of scripts. On Redhat, for instance, the actual scripts hide out in /etc/init.d. The same is true of Gentoo. On Redhat, the runlevel symlinks hide out in /etc/rc#d.d, where # is the number of the runlevel.

Notice the word symlinks. The files in /etc/rc5.d, for instance are symlinks to the /etc/init.d directory. Gentoo uses named runlevels, which also have numbers that apply to them, and these scripts are in /etc/runlevels/default for example. We want to create a runlevel that does everything default does, plus start up X with the login screen.

cp -av /etc/runlevels/{,x}default will generate a directory called /etc/runlevels/xdefault which will contain all the same symlinks as default. You will also want to add the two symlinks for xdm and xfs.

rc-update add xdm xdefault
rc-update add xfs xdefault

The decision of which runlevel to startup with is made in /etc/initdefault, just as in Redhat. This is also where you define which named runlevel corresponds to which number. We want to map runlevel 5 to xdefault, and set the default runlevel to be 5. The following are the two lines, the way they should now read

id:5:initdefault:
l5:5:wait:/sbin/rc xdefault

You'll now be able to change between X and non-X mode using init 3 or init 5 the way you're used to doing. Gentoo also supplies the softlevel command, so you can also change levels by using their long name, if that would ever seem like something you would want to do.

Why doesn't Gentoo just put all this stuff in place for you?

Because Gentoo is all about choice. It's surprising to some people, but there are servers that not only never run X, they don't even have monitors attached. Linux is content to run on systems with no video card, and if console access is required, a serial console or control software like minicom can be used. There are places that run linux this way and save money of buying KVMs, or multiple graphical displays. Companies like Cyclades make very nice KVM-style console switches that support ssh, so admins can take local console control of large numbers of systems with minimal effort.

With Mozilla, when I hit print, I get a message saying "Printer Error: There was a problem printing because the paper size you specified is not supported by your printer."

I don't know what causes this, but I've had this happen with at least two computers. So far I don't know the solution, but I can describe the symptoms.

  1. The prefs.js file looks fine, including the sections the describe printer sections.
  2. If you hit print (then get the print dialogue, then go to Properties, there is no information in the pull down boxes for things like Paper Size, and no way to enter information in these boxes.
  3. This problem seems to be tied to mozilla on the computer being used, rather than a particular printer, cups, or a particular mozilla profile. In other words, a Mozilla profile that prints fine one place won't work on a system with a Mozilla exhibiting these symptoms.

I don't have a solution for this, but I have observed that on the problem systems Firefox works fine, as does printing with lpr (cups), and my current best guess is that reinstalling Mozilla will fix this.

In the case where I had this happen, these were an rpm binary package for Redhat Enterprise Linux. I've also heard of this happening on Debian with Firefox 1.5.0.3, so even in 2006 this issue is still popping up for some people, and it seems to be common to the Firefox / Mozilla codebase.

I've been getting mystery phone calls from 877 223 8736. I have a Sprint cell phone

The number is Sprint's "customer service" number. They call you but don't leave a message if you've forgotten to pay your bill. I finally answered the phone call and got a completely unhelpful person who didn't identify themselves and asked for my wife, then hung up and said I couldn't help them when I confirmed that I was not my wife. I only found out who it was by calling them back. Stupid Sprint.

I want to transfer data off my system while I change around my disks, then I want to transfer it back, and I don't want to mess up my permissions, file dates, etc. How do I do this?

I'm going to assume that for your own sake of saving time, these systems are in the same room, and that you're transferring an enormous amount of data, so you don't want to use encryption.

Encryption poses both a cpu load overhead, and in most cases, also increases the total amount of data transferred, both of which are bad and unneccessary. You will need tar (available everywhere) and netcat, which can be downloaded from many places, and comes included on a Knoppix disk.

I'll assume your system which will be temporarily storing data has no operating systems and unformatted, blank disks. We'll risk that we won't lose power during the transfer of data, but you could modify these directions to use a real linux install.

On the data dump system...

  1. Boot knoppix. For security's sake, if you have two nics, and this is going on a public network oso you can monitor the progress from remote, you should set the root password, which is blank by default. su -, (no password required), then passwd and set it to something you can remember, since you definitely don't want to reboot this until you're done
  2. Assign ip addresses: ifconfig eth0 PUBLIC ; ifconfig eth1 PRIVATE
  3. If you're going to ssh in and monitor progress, route add default gw GATEWAY; /etc/init.d/ssh start If you want to be able to search the internet or whatever, put an entry for your nameserver in /etc/resolv.conf
    1. prepare the target disks. I'll pretend you have two SATA disks that detected as /dev/sd{a,b}. fdisk /dev/sda. I'm not putting anything except data on these, so I'm going to use the full disks as a big raid0. o for new blank partition table, n for new, p for primary, 1 for 1st partition, enter twice to take whole disk, t for type, fd for selecting linux raid autodetect. Repeat for sdb, or use sfdisk -d /dev/sda | sfdisk /dev/sdb.
    2. You need to make sure knoppix recognizes the new drive geometries. blockdev --rereadpt /dev/sda, repeat for sdb.
    3. Use mdadm to create a raid0: mdadm -C /dev/md1 -c 128 -l 0 -n 2 /dev/sda1 /dev/sdb1 The -c is chunk size. -l is raid level, -n is number of raid disks (you can also specify spares, but that seems ridiculous in this case). Check this it's working with cat /proc/mdstat
    4. format it: echo y | mkreiserfs /dev/md1
    5. Mount the raid in a convenient location like /mnt/raid.
      mkdir /mnt/raid; mount /dev/md1 /mnt/raid

On the system that has the data and is going to be rebuilt

  1. Set ip address: ifconfig eth1 PRIVATE

Now we're ready for the actual transfer

  1. ON DATA DUMP SYSTEM: cd /mnt/raid; nc -l -p 2342 > bigfile.tar
  2. ON SYSTEM WITH DATA: tar -cv /path/to/copy | nc PRIVATE 2342

Let this run for a long time. A good way to monitor this ON DATA DUMP SYSTEM: cd /mnt/raid; ls -l ; sleep 60; ls -l Using a calculator, like Python, subtract the first filesize from the second filesize. This is how much data you transferred in a minute. Now use python to divide the total size of the data (you can get this with (ON SYSTEM WITH DATA) du -s /path/to/copy) by the amount you transferred in one minute, and you can now know how many minutes you can expect this to finish in. If the value is greater than 60, you may want to divide by 60 to get number of hours. In my case, with two raid0 systems, transferring over gigabit ethernet with a crossover cable (no loss due to cheap switches) I had sustained transfer rates of 50MBytes/sec, or 3GBytes/min. When I tried this with scp, I was only able to get 28MBytes/sec, AND scp blew away all the file times and permissions. To do this right, you need to use tar. I was able to calculate that my transfer for 224GBytes was going to take about 72 minutes. (I've rounded off numbers in my explanation).

I want Firefox to load pages faster, and let me do things that web page authors don't want me to do.

At the Firefox URL line, type about:config. You will get a page full of configuration options, most of which are not in the Preferences menu. Some options I like:

I want to mount my MacOSX disk under linux (I'm booting the Gentoo G4 live disk) so I can recover some data.

  1. pop in live disk, hold c to boot cdrom
  2. at prompt, mkdir /mnt/disk
  3. mac-fdisk -l /dev/hda
  4. Look at the output, and decide which is the partition named after what the MacOSX system calls itself, mount -t hfsplus /dev/hda9 (or whatever it is) /mnt/disk

That's it. If you leave off the -t hfsplus, the system will guess that it's hfs and you'll only see a ghost of the actual files you have there. MacOSX and ipods use HFS+ as their filesystem.

I want to put some things in /etc/rc.local that will startup after all the other init scripts, but I'm using Gentoo, and this isn't working.

Under Gentoo, many settings are in the /etc/conf.d folder. Going with this theme, the things that would normally be started in /etc/rc.local now go in /etc/conf.d/local.start. You should make a corresponding entry in /etc/conf.d/local.stop to stop whatever you started in local.start.

I have a Micron model 900Lx, aka 9A10. What are the HorizSync and VertRefresh values, so I can get this working with X?

I actually have the original manual for this. Hopefully google will cache this and then everybody will be able to get at least one hit for this. This is a 19" CRT monitor. Horizontal Sync, aka HorizSync 30-95 KHz. Vertical Refresh, aka VertRefresh 50-150 Khz. Weight is 22kgs. Resolutions from 640x480 all the way up to 1600x1200. 18" viewable. Put those in your XFree86.conf or your xorg.conf

I have an Intel 2915 A/B/G wireless network chipset / card using the ipw2200 drivers. How do I get this to negotiate with a WAP using WPA?

I used the tool called wpa_supplicant for this task. First, I grabbed the latest versions of the ieee80211 and ipw2200 packages. After installing all these things, I had ordinary unencrypted wireless working fine.

Now to try out getting wpa_supplicant to negotiate with my WPA-enabled access point. I edited /etc/wpa_supplicant.conf with the password, SSID, etc. and tried wpa_supplicant -Dipw -ieth0 -c/etc/wpa_supplicant.conf as suggested by the documentation for wpa supplicant. Alas, I got something like the following...

ioctl[IPW_IOCTL_WPA_SUPPLICANT]: Operation not supported
This would occur over and over again, and if I added the -d debug flag to the wpa_supplicant command it would tell me the various operations it was trying... with wpa supplicant suggesting to the ipw2200 driver that it should kindly enter its encrypted mode, and the ipw2200 driver flatly refusing to do so.

After fruitlessly searching google to figure out what I was doing wrong, I read things that said the latest versions of the Wireless Extensions (built into the kernel and linked against the wireless-tools package) now contains native support for WPA, meaning that support has been yanked from the latest versions of the ipw2200 driver.

All of this means that:

  1. The documentation for wpa_supplicant needs to be updated
  2. According to google, several people have run into this problem and I only found one hit that gave a decent explanation of what should be done.
  3. I would have had a better chance of understanding what I was doing wrong if I had ever used wpa_supplicant with my wireless card before the change to the driver / Wireless Extensions interface.

The proper command, as documented in the aforementioned hit is
wpa_supplicant -Dwext -ieth0 -c/etc/wpa_supplicant.conf
or a variant of that, but the important thing is to use the Wireless Extensions instead of calls to the ipw2200 driver.

I dual-boot Gentoo with Windows, and Windows thinks the hardware clock should always be local time. Then Gentoo has the wrong time after I reboot from a Windows session. How do I tell Gentoo the clock is local?

Aside from setting a symlink from /etc/localtime to /usr/share/zoneinfo/path/to/timezone, you need to tell /etc/conf.d/clock that the hardware clock is not in UTC, which is the default. Change CLOCK="UTC" to CLOCK="local".

How do I properly use cdrecord with linux on a Dell Latitude D610?

For clarity the drive that came with my laptop says the following when I do a cdrecord --scanbus --dev=/dev/hdc
1,0,0 100) 'HL-DT-ST' 'CDRW/DVD GCC4244' 'B101' Removable CD-ROM

I wasn't doing anything special with kernel parameters. No scsi emulation or anything like that. At the time I was having trouble I was using kernels including those from 2.6.12 to 2.6.15.

I was trying to do cdrecord -dev=/dev/hdc filename.iso
The cd drive would spin up, run for a while, then I'd get a big error list with things like CHECK CONDITION, Illegal Request, Sense Code, Sense Flags, error after x bytes, problem looks like a buffer underrun. Some useless hints included Make sure that you are root, enable DMA, and check your HW/OS set up. Obviously there could be something wrong with my so-called "set up" but it would be helpful to point me to a list of probable causes. One of the clues in the long list of things that were wrong was try with driveropts=burnfree. I thought this sounded like a good idea. Another person suggested using -sao rather than the default -tao. The difference is that -tao means track-at-once, and -sao means session-at-once. You can read more about the difference in the man page for cdrecord.

My ultimate command was: cdrecord -v -sao -driveropts=burnfree --dev=/dev/hdc filename.iso The write speed and buffer utilization varied widely, but the cd wrote correctly for the very first time. I knew there was nothing wrong with the drive or media because disks wrote fine in Windows.

How do I build doxygen from source on Windows XP?

See my notes about getting doxygen to build from source on Windows XP using a combination of commercial and open-source tools.

How do I get pretty fonts under X with Linux?

There are a number of packages available with provide free or shareware fonts that actually look good under linux. One way I find fonts like this is to (on a gentoo machine),
cd /usr/portage/media-fonts
or you can emerge -S fonts >> ~/fonts_report.txt" and look at the list at your leisure.

Some fonts I like include:


There are way more in the list, but these are ones I've liked to some degree. If you like others let me know, as I'm always interested in having more fonts.

I'm trying to use Scribus under linux but it complains it can't find fonts, then exits

This seems to be a known issue, as it's documented at this page. I followed a similar tactic, and found my fonts by poking around paths involving /usr/X11R6/share/fonts, then using find with that path, then trimming things down to just the folder paths. You can look at my font list. Save this file as ~/.scribus/scribusfonts.rc and scribus should be able to find your fonts.

According to Scribus's readme, version 1.2.5 and up should properly support fontconfig and nobody should have to go through this ever again.

How do I stop Firefox from running "Quick Find" when I'm on a webpage and hit a keyboard key?

At some fairly recent version of Firefox, this became the default feature, and I find it supremely annoying. I'm a big user of Gmail. Gmail supports one-key operations, like pressing "r" to reply, or "c" to compose. But now those keypresses were getting trapped by Firefox, rather than passed on to Gmail's javascript keypress detection. A further annoyance was that if I accidentally hit a key, it would steal my focus from my keyboard to the quicksearch box at the bottom of the window. And finally, my biggest annoyance with this feature is that it's VERY easy to get a real searchbox in Firefox. My favorite way is by pushing the "/" key, which is the same way you search a document in vi, less, and other *nix utilities.

To disable quicksearch in Firefox, go to Edit -> Preferences -> Advanced, and there's a checkbox for "Search for text when I start typing". Uncheck that box, and select OK to confirm your settings. Firefox should now behave the way it used to, before they added the "Quick Find" feature.

Slightly amusing, is that when you enter find intentionally using the "/" key, it's still called "Quick Find". If you want the old "Find", you can press "Ctrl+f" or F3.

Using konsole, I was trying to hit Ctrl-Shift-n for new console, but instead hit Ctrl-Shift-s, and my shell froze. How do I unfreeze it? How on earth did you hit Ctrl-Shift-s when you meant Ctrl-Shift-n?

Ctrl-s, and coincidentally Ctrl-Shift-s in this context were directed at bash, where they were interpreted to mean "pause the output device". The job that is making the output essentially pauses until the output device is resumed. Ctrl-q will send the signal to resume the output device. I use a DVORAK pattern keyboard on my main linux system. Vowels are on the home row of my left hand, and most frequently used consonants are on my right hand. I accidentally had my right hand shifted one key so my ring finger hit s rather than n. I do this once every few months. I use a remapped IBM Model M keyboard, and don't have the tiny tactile pads to help my fingers tell when they're centered on the home row. This is quickly correctable when rewiewing interactive output, but keyboard shortcuts aren't readily backspaced.

How do I BIOS flash a Dell or other system that wants a floppy boot disk, without having a floppy drive?

The point of this discussion is to complete a BIOS flash, without using a floppy drive, and without using Windows or DOS. Requirements:

When retrieving the BIOS flash image, you want the actual executable tool. If downloading from Dell, this is called "Non-packaged". We need something to start from as a basis for the flash floppy.

  1. This can be acquired from the FreeDOS project. Go to FreeDOS floppies Among the choices are OEM bootdisk. Download the gzip.
  2. gunzip the file you downloaded.
  3. Setup Dosemu to use this image as a fake floppy
    1. rename the image to something meaningful
    2. mv FDOEM.144 blank_freedos_disk.img
    3. copy the blank disk, and you'll never have to download it again in the future
    4. cp blank_freedos_disk.img dell_bios_2950_v1.5.1.img
    5. setup the loopback device
    6. losetup /dev/loop2 dell_bios_2950_v1.5.1.img
    7. vi /etc/dosemu/dosemu.conf
      1. change the line pertaining to the floppy
      2. comment out the old line for $_floppy_a
      3. make new line that says: $_floppy_a = "threeinch:/dev/loop2"
      4. Review where drive c is mapped to. By default it's /root/.dosemu/c_drive
  4. copy the floppy flash executable from the earlier download to the dosemu fake C drive. Give it an 8.3 -complaint name: cp PE2950-010501C.exe /root/.dosemu/c_drive/2950-151.exe
  5. start Dosemu: dosemu
  6. inside the Dosemu environment, setup the floppy
    1. Change over to the A drive: C> A:
    2. Copy the file over: copy C:\2950-151.exe .
    3. modify autoexec.bat to auto-start the utility: A> edit autotexec.bat
    4. use arrow keys to go to the bottom of the file. Append: 2950-151.exe
    5. Press Alt+F to open the File menu, use arrow keys to save.
    6. Press Alt+F to open the File menu, use arrow keys to exit.
    7. Exit Dosemu. A> dosemu
  7. Outside dosemu, we're ready to un-loopback the floppy image: losetup -d /dev/loop2
  8. The floppy image is now ready to use.
  9. We need the memdisk binary, buildable from the syslinux source.
    1. wget http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.52.tar.bz2
    2. tar xvjf syslinux-3.52.tar.bz2
    3. cd syslinux-3.52
    4. cd memdisk/
    5. The make step requires nasm, the free x86 assembly language assembler. If you don't have this, you'll need it. (emerge nasm). Under Gentoo, be warned that you don't need the docs, so you could do a USE="-doc" emerge nasm
    6. make
  10. When the make completes, you'll have multiple binaries with the word memdisk. Here's how they break down.
  11. Therefore you only want the one called "memdisk", with no extension. As with the FreeDOS OEM floppy image, once you have this, you can copy it around and you don't need to download it (or recompile) again.
  12. Setting up Grub to boot bios flash floppy image
    1. mount /boot
    2. cp memdisk /boot
    3. cp dell_bios_2950_v1.5.1.img /boot
    4. edit /boot/grub/grub.conf, add section to look like:
      title=Dell 2950 BIOS 1.5.1 flash
      root (hd0,0)
      kernel /boot/memdisk
      initrd=/boot/dell_bios_2950_v1.5.1.img

How do I change Gentoo, using KDE, to use a dvorak-mapped keyboard?

I'm using a re-mapped IBM Model-M keyboard for this purpose, but many other keyboards could be used in the same way. In
/etc/conf.d/keymaps replace the line that says
KEYMAPS="us"
with
KEYMAP="dvorak"

For X, in KDE, this can be managed through the KDE Control Center -> Regional and Accessibility -> Keyboard Layout. Ensure the box labeled "enable keyboard layouts" is checked, then choose US, select add, then select the "active layout" that was just added, use the "layout variant" pulldown menu to change it to dvorak.

In case you're really curious, the dvorak-l and dvorak-r are also available. dvorak-l and dvorak-r are interesting layouts for people who due to disability can only type with one hand. It puts keys in an arrangement to make typing easier and faster. Google the layouts if you're interested in trying those out.

What Gentoo packages are helpful when setting up a cups print server?

emerge foomatic-filters-ppds foomatic-db-ppds foomatic-db foomatic-db-engine cups

How do I toggle on / off my external video port on my laptop, using Linux?

I've always been able to set up alternate versions of my xorg.conf with settings with and without an external monitor / projector, etc. But that stinks, because you have to restart X to apply your changes. The better way is xrandr, which has a separate Gentoo package, but seems to get auto-included when you emerge X.

To turn it on, try xrandr --output VGA --mode 1280x1024x60. When done, do xrandr --output VGA --off