Putting Puppy Linux on a SD

JustGreg

Here are my notes for everyone's use.

Here is how I got Puppy 2.14R 1.01 to work on my Eee PC using a SD card. Puppy 2.14R works the best with Eee PC for me. Please read this completely before attempting an installation.

First one needs to down load the iso with Puppy 2.14R 1.01. The iso and the md5 sum files are available here:http://www.puppylinux.ca/puppyfiles/Pup214R/

The main forum thread on the Puppy Forum for Puppy 2.14R 1.01 is:http://www.murga-linux.com/puppy/viewtopic.php?t=24574 There is a lot of good information and files located there.

One then “burns” the contents of the iso to a CDROM media. I normally use CD-R media and my normal Puppy system or my wife's computer (Windows XP, blah) for this operation. I have try to do it with Eee Pc and a USB external CD R/W device, but no luck at this time. After burning, one should check to see if all the files are present (note, some CD burning programs will do this for you with a “verify” operation.). The files that should be on the CD media are:

  1. boot.cat
  2. boot.msg
  3. f2
  4. initrd.gz
  5. isolinux.bin
  6. isolinux.cfg
  7. pup_214R.sfs
  8. vmlinuz
  9. zdrv_214R.sfs

The second major task is to make sure the SD card is bootable. This can be done with Eee PC. Boot up the Eee PC with the normal Xandros Linux. Insert the SD card into the reader slot. When the dialogue box comes up asking what to do with removable device, click on the cancel button. The SD card needs to be unmounted to check if it is bootable. The easy way is to right click on the safe removal button (looks like a SD card) and select OK to remove. The harder way to do this is to open a console window and type the command “sudo umount /dev/sdb1”. Depending on your system, it may ask for a password for this operation.

After the SD card is umount, one uses the console window with the command “sudo fdisk /dev/sdb”. This will bring up the fdisk program. At fdisk prompt [Command (m for help):] type “p”. This will show the partition information for the SD card. Under the word “Boot”, there should be an “*”. If there is one then the SD card is marked as bootable and one can exit (with no changes to the SD card) using the “q” command. If there is no “*” under the word “Boot” then one needs to use the “a” (toggles boot flag) command. Type “a” at the command prompt. You should be asked what partition, type “1” for partition number one. Normally, a SD card only has one partition. Type “p” at the command prompt and confirm there is a “*” under the word “Boot”. Type “w” to write the changed information to SD card and fdisk should end.

You now have a CD media with Puppy 2.14R installed on it and a SD card ready for its installation. Place the CD media into a CDROM drive of any computer that can boot from its CDROM drive and boot up. When isolinux (boot loader) finishes the start up, you will see a list of boot options for Puppy. At the prompt line, type “puppy pfix=ram” and hit the enter key. Puppy 2.14R will start up. After all the initialization, a dialogue box will pop up and allow you to select the keyboard you want to use. The next pup up dialogue box is to configure the video graphic screen driver. Take the default Xorg driver. Follow the instructions to setup the graphic screen driver. Upon completion, you will see the Puppy 2.14R desktop on the screen.

Left click with your mouse on the Menu bottom (has the small dog symbol on it) and bring up the menu. Go up to setup, brings up a second menu and select “Puppy Universal Installer” This will start the installer. Place the SD card into either a built-in (if the computer has one) reader or use a USB reader connected into a USB port of the computer. Select USB Flash drive and click “OK” A pop up box with the USB devices will be shown. Expand the box to ensure that you can see all the information presented. Select the device with the SD card and hit OK. Another pop box with the information for the device will be shown. If it is the correct device, hit OK. A pop up box will be shown asking where are the Puppy files. Click on the CD button. A pop up box will ask if the CD is in the drive. If it is, click on the OK button. The next pop up box will ask about changing the master boot record. The SD card will need a master boot record added. They normally do not have one. My recommendation is to select mbr.bin (from Syslinux, which is used to start Puppy on a flash device). The next pop up box will ask about the partition, select the default, just keep going. This will ensure the card is bootable. Click on “OK” button to continue the process. The last pop up box is to allow you to cancel before the operation. Read the information and if it is correct, hit the enter key. After a while, a pop box will be shown stating the installation is finished. Click on the OK button to exit the installer. The SD card will have all the need files. Remove the card from the reader at this time. You can shutdown the computer at this time. You will be ask if you want to save the configuration. Do not save the current configuration to the SD card. The configuration is for the machine being used and likely not to be suitable for the Eee Pc.

Before you start using Puppy with the Eee Pc, you need to ensure the sound is not muted and the wireless card is turned on. You need to do this with Xandros Linux. Puppy does not have the code to interpret the special keys to do this.

Now you can use the SD card to boot the Eee Pc to use Puppy 2.14R. At the first boot, you will have to configure Puppy for the keyboard, video graphic driver and sound. Place the SD card into the reader and turn on power. When the boot screen is first shown, press “Esc” key several times.. This will bring up the boot device screen, select the SD card reader, second item in list and hit the “Enter” key. This will start the booting of Puppy 2.14, at the boot options prompt, just hit the “Enter” key or wait until the boot sequence starts. The first pop up box pop up and allow you to select the keyboard you want to use. The second pop up box is to configure the video graphic screen driver. Take the default Xorg driver. A screen will come up and ask which device is the screen. Select the first one (LCD) and press the “Enter” key. Another pop up will have set the screen resolution, take the 680 X 480 with 16 bit color. Any other setting does not work. I have found some program window problems with the display. Some windows go outside of the display area. The easiest way to correct is to go the task bar and right click on the program box with its title. This brings up a menu and select the “Maximize” entry. The window will then full the whole screen in the right size. The only program that this does not work with is the “Network Wizard”.

To setup the sound, click on the menu button of the task bar and select “Setup” and the “ALSA sound wizard”. This will bring up a console window with the ALSA setup screen, press the “Enter” key to start the process. After while, there will be a list of items found. Select the first in the list, hda-intel and hit the enter key. There will be a couple more of informational screens, just take the defaults. You may help a double dog bark. The Eee Pc small speakers make it easier to miss. You will know the sound was set up correctly if there is a a speaker icon (Volume Control) on the task bar. If it is not there, do not be discouraged. I found a reboot was need for the kernel module to setup the hardware. This is the first reboot in the process.

Click on the menu key of the task bar and select “Shutdown” and then “Reboot computer”. At this time, you will be asked to create a Puppy save file. First screen, select the save file location with the “Tab” key and hit enter. Second screen sets the name of the save file, my suggestion is not enter anything (take the default name) and press the “Enter” key. The next screen allows you to encrypt the data with a password. My suggestion is to not to encrypt the file. The fourth screen allows to select the size of the save file. You are on you own for that decision. I will tell you the bigger the file, the longer it takes to make it. The screen will present the selections and give you a chance to change it. If the configuration is correct, select the OK button (default) and press the “Enter” key. The save file takes awhile to create the first time. Once the save file operation is done the computer will reboot.

You will have to hit the “Esc” key at the boot screen to get the boot device screen and select the SD card. Just yet Puppy boot up. You should seen the “Speaker icon” (volume control) on the task bar now. There are audio files in /user/share/audio directory that you can play to see if everything is working. I found that the volume control had to be set at the 90 level to heard the speakers. Earphones do work and sound better.

Now to setup the network. Puppy 2.14R 1.01 as released does not contain the correct kernel modules for the Atheros Ethernet and Wireless hardware. One needs to go to the Puppy forum topic, http://www.murga-linux.com/puppy/viewtopic.php?t=24620, and down load the two Puppy Pet packages with the correct drivers as posted by Tempestuous. They are:

  1. madwifi-ng-r2756-eeepatch-k2.6.18.1.pet
  2. atl2-1.0.40.4-k2.6.18.1.pet

The first is the wireless and the second is the Ethernet one. Since, Puppy with the Eee PC at this time can not connect to a network, it is time to reboot to Xandros Linux. Once Xandros is up, connect to the Internet and down load the needed Pet packages. Save them to the SD card into its root directory (called MMC-SD Partition 1 in file manager).

Reboot the Eee PC to use Puppy. Once the desktop is shown, there will be a group of icons across the bottom just about the task bar. One looks like a USB Flash device and has the name of home. Place the mouse cursor on it and and left click to open up the home directory and the two driver files should be there. I did the wireless driver first. Move the cursor to madwifi driver first and left click on it. The PETget package manager will start and show a screen. Move the cursor to “install package” and left click on. This will start the package installation. At the end of the driver package installation, a screen will be shown saying its is complete. Since this is a new kernel module, it is suggested that Puppy be rebooted. So reboot again into Puppy.

Once the reboot is complete and Puppy is up with the desktop showing, select and click on the “connect” icon. This will start the Network wizard Select and click on the “Connect to Internet by network interface” button. The next screen should show interface ath0 wireless interface. Click on the “ath0” button. In the next screen, first click on the “Test ath0” button to make sure it works. If you have a encrypted (WEP or WPA) network, Puppy may report that its was unable to connect to a network. But, it did work, there will be a network icon on the system tray area of the task bar. Click on the Wireless button. This will be bring up the wireless profile screen. You may need to do the “maximize” trick to see the whole screen. The first thing is to enter a Profile Name (e.g. Home-wifi), then ESSID for the network. Click on the type of encryption and enter the required password for the network (if it has one). It is very important to first click on the save key once all the information is entered. The same screen will show up, it may not have the entered information. If it does not, use the pull down list (Select a profile to load) and select the profile and then click on the load button. Once the profile is loaded, (note this where the Network wizard display window problem occurs, do not maximize!), click on the “Use this Profile” button. For encrypted networks, the “Use this Profile” button is partial hidden by the task bar. It is button on left side at the bottom. Click on it and the wireless network should start. A screen should come up and say Puppy was able to find a live network. Click on the “Auto DHCP” button to complete the network connection. At this time, there will be two network icons on the task bar, one is for ath0, hardware portion and other is for wifi0. This is normal. If the network configuration was successful, a screen will pop up and asked if you want this configuration to be used at the next boot. This makes the network configuration available at boot up. You now can close all the screens (three I think) and start using the wireless network.

To set up a wired network (using the Ethernet jack on the side) is a bit easier. Because the new driver is not in the network database, one has to manually install the kernel module. Open a console window using the desktop console icon. Enter the command “modprobe atl2”. If nothing is printed in the console window, everything is correct, the module was installed. It is back to the network wizard via the desktop connect icon. Start it and click on the “Connect to Internet by network interface” button. The next screen should show interface ath0 wireless interface and eth0 Ethernet connection. Select the “eth0” button and click on it. If you are connect to a router Ethernet port, just select and click on “Auto DHCP” button. Once again, if the connection is successful, the save configuration screen should be shown.

This completes the configuration. I hope this helps.

Enjoy life, Just Greg Live Well, Laugh Often, Love Much