[Seite auf Deutsch]

PLoP Linux

page update: 05/Jan/2010
Print version
Introduction
System requirements
Features
Directory structure
!! Create bootable PLoP Linux CD/USB device with Linux
!! Create bootable PLoP Linux CD/USB device with Windows
Install to harddisk
F-PROT Antivirus for Linux
Avast Antivirus for Linux
Backup/restore Windows with Partimage
Backup/restore Windows with fsarchiver
Boot from network (PXE, DHCP, TFTP, NFS, Samba/Windows network share) - Linux Server
Boot from network (PXE, DHCP, TFTP, Windows network share) - Windows Server
Xorg, Gnome, Fluxbox, gparted and more
x64 (64bit) version
Locale settings
Perl modules
Welcome text
C compiler
Adding software with example of adding alsa, mp3blaster and mplayer to play music and videos
Special commands
Boot parameter
FAQ's - Frequently asked questions
ChangeLog
Download

Introduction


PLoP Linux is a small distribution that can boot from CD, DVD, USB flash drive (UFD), USB harddisk or from network with PXE. It's designed to rescue data from a damaged system, backup and restore operating systems, automate tasks and more.

Current stable: v4.0.2

If you need help, post it to the forum or send me a message with the contact form.


System requirements


  • Intel i386 compatible processor
  • 128MB ram
  • a usb, cd or dvd media with minimum 61MB space to put PLoP Linux on it

Features


  • booting from CD/DVD, USB and network
  • Linux kernel 2.6.32.2
  • 32bit and 64bit versions
  • sshfs
  • NTFS read/write with ntfs-3g (except compressed and encrypted files)
  • add your own scripts
  • IDE, SATA, SCSI, and RAID support
  • Partimage to save or restore partitions
  • pimgrestore
  • proftpd server
  • ssh connections
  • samba connection
  • nfs connection
  • btrfs
  • vmstat
  • systat package
  • fsarchiver
  • mbuffer, udpcast, multicast
  • partclone
  • memtest
  • cryptsetup luks
  • tftp (tftpd)
  • xinetd
  • dhcp server
  • PLoP Boot Manager
  • nmap
  • perl
  • lilo, grub, grub2
  • chntpw, reged
  • chkrootkit
  • bluetooth
  • wake on lan (wol, ether-wake, ethtool)
  • lot of network tools
  • Linux F-PROT Antivirus from F-PROT.
    This antivirus is free for personal users.
  • Linux AVAST Antivirus from avast! Linux Home Edition.
    This antivirus is free for non-commercial use. You need a licence key to use it.
  • Network connections to windows network shares, ftp servers, web servers or ssh connections.
  • you can add you own windows tools in a separated folder

Directory structure


This is an overview about required and not required files for PLoP Linux.

Directory / File Description
isolinux/

Here is the boot file (isolinux.bin) for cd booting in "no emulation mode". This directory is required to boot from CD.

ploplinux/

Here are the PLoP Linux system files. This directory is required to boot PLoP Linux. (55MB)

ploplinux/myscripts/

Place your own scripts there
runme.sh is running after the boot process. it's like an "autoexec.bat" under DOS.
This directory is in your path.

pluspacks/

Files in pluspacks are not required to run PLoP Linux. This directory is for add ons like the anti virus database file.

pluspacks/windows/

A place for windows tools.
A free ftp server and some other free tools are coming with PLoP Linux. (2MB)

pluspacks/avastrc and 400.vps

Here are the antivirus files.
More details Avast Antivirus



Create bootable PLoP Linux CD/USB device with Linux


PLoP Linux can boot from CD/DVD or an USB device. Booting from floppy is no longer supported. Last version with boot from floppy was v3.2.1. and it's still available for download.

1. Create a PLoP Linux CD/DVD
1.1. Burn an ISO image
1.1.1. Burn on CD
1.1.2. Burn on DVD
1.2. Create a new ISO image
1.2.1. Download and extract
1.2.2. Adding files
1.2.3. Create the ISO image
2. Create a bootable PLoP Linux USB device
2.1. Make an USB device bootable step-by-step

1. Create a PLoP Linux CD/DVD

    There are 2 solutions to boot from CD/DVD. The first solution is to use the existing PLoP Linux ISO image.

    • Pro: You have to burn it on a CD as it is and it's possible to boot.
    • Contra: No antivirus licence and no antvirus database comes with the ISO. That means, no F-PROT or Avast is available.
      No personal files or scripts from you are on the CD.

    If you don't need any personal files, F-PROT or Avast, then you can use it. If you want more power, then you have to create your personal ISO image in a few steps. That's the second solution.

1.1. Burn an ISO image

    You have to download the file ploplinux-v4.0.2.iso

    K3b is an easy to use GUI for the linux burner programs. You can simply burn the ISO to a disc with a few mouse clicks.

    If you prefer the command line, then use the following commands.

1.1.1. Burn on CD

    cdrecord is the linux tool to burn CD ISO images.

    Burn the ISO with cdrecord:
    cdrecord -v dev=<devicename> <iso image>

    Example:
    If your cd writer drive is /dev/hdd.
    cdrecord -v dev=/dev/hdd ploplinux-v4.0.2.iso

1.1.2. Burn on DVD

    growisofs is the linux tool to burn DVD ISO images.

    Command:
    growisofs -dvd-compat -Z <devicename>=<iso image>

    Example:
    If your dvd writer drive is /dev/hdd.
    growisofs -dvd-compat -Z /dev/hdd=ploplinux-v4.0.2.iso

1.2. Create a new ISO image

    mkisofs is the required tool. It's a part of cdrecord.

1.2.1. Download and extract

    You have to download the file ploplinux-v4.0.2.tgz to your home directory.
    Then extract the downloaded file.

    tar xfvz ploplinux-v4.0.2.tgz

1.2.2. Adding files

    The directory ploplinux-v4.0.2/ with the PLoP Linux directories and files is created and you can add your personal files and the F-PROT and Avast files to the pluspacks/ directory. Personal scripts should be placed in ploplinux/myscripts/.

1.2.3. Create the ISO image

    The following command creates the ISO image. Run it from the commandline in your home directory.

    mkisofs -J -r -V PLoPLinux-v4.0.2 \
    -hide-joliet-trans-tbl -hide-rr-moved \
    -allow-leading-dots \
    -o ploplinux-v4.0.2.iso -no-emul-boot -boot-load-size 4 \
    -c isolinux/boot.catalog -b isolinux/isolinux.bin \
    -boot-info-table -l ploplinux-v4.0.2

    You can download the script make-cd-noemul.sh if you don't want to type the whole stuff.

    Run sh make-cd-noemul.sh 4.0.2 from the command line in your home directory to create the ISO image ploplinux-v4.0.2.iso.

    When creating the ISO was successful, then burn it. see 1.1. Burn an ISO image

2. Create a bootable PLoP Linux USB device

    There are no differences between the USB mass storage devices. The instructions are the same for an USB flash and an USB harddisk.

    Requirements to make an USB device bootable:

2.1. Make an USB device bootable step-by-step

    You have to do the following steps from a commandline. Login as root to be sure to have all rights.

    1. Plug in your USB device.

    2. Run dmesg to determine which device node is used for your USB device. Linux need's a few seconds to detect the USB device.

      Example output:
      usb 1-3: new high speed USB device using ehci_hcd and address 3
      usb 1-3: configuration #1 chosen from 1 choice
      scsi0 : SCSI emulation for USB Mass Storage devices
      usb-storage: device found at 3
      usb-storage: waiting for device to settle before scanning
      scsi 0:0:0:0: Direct-Access     LEXAR    GEYSER JUMPDRIVE 1.00 PQ: 0 ANSI: 1 CCS
      SCSI device sda: 1001952 512-byte hdwr sectors (513 MB)
      sda: Write Protect is off
      sda: Mode Sense: 23 00 00 00
      sda: assuming drive cache: write through
      SCSI device sda: 1001952 512-byte hdwr sectors (513 MB)
      sda: Write Protect is off
      sda: Mode Sense: 23 00 00 00
      sda: assuming drive cache: write through
       sda: sda1
       sd 0:0:0:0: Attached scsi removable disk sda
       usb-storage: device scan complete
      

      In this case, Linux use sda as device name. The device can be used as /dev/sda. This device has 1 partition called sda1 (filename of the device node is /dev/sda1). We use this partitions to boot with PLoP Linux.

    3. Mount the device to determine the Filesystem. We use the directory /mnt/usb as mountpoint. If this directory not exists then create it.

      mkdir /mnt/usb

      Now mount the partition from the USB device.

      mount /dev/sda1 /mnt/usb -t vfat


      If mount fails with

      mount: /dev/sda1 is not a valid block device
      

      You are using the wrong device node.

      If mount fails with

      mount: wrong fs type, bad option, bad superblock on /dev/sda1
      

      The partition /dev/sda1 (in my case) is not formatted with vfat.


      If mount reports nothing, then proceed with the next step.

    4. You have to download the files ploplinux-v4.0.2.tgz and ploplinux-v4.0.2-usbboot.tgz to your home directory.

      Then extract the downloaded file.

      tar xfvz ploplinux-v4.0.2.tgz

    5. Copy the extracted PLoP Linux files on you USB device.

      cp -avr ploplinux-v4.0.2/* /mnt/usb/

    6. Extract the USB boot files on the USB stick

      tar xfvz ploplinux-v4.0.2-boot.tgz -C /mnt/usb

    7. The previous command created a new directory usbboot on the USB device with the USB boot files. We have to move the boot files to the root directory of the USB device.

      cd /mnt/usb/usbboot

      mv * ..

      And go back to your home directory.

      Use cd without parameters

      You can delete the usbboot directory.

      rmdir /mnt/usb/usbboot

    8. Unmount the USB device.

      umount /mnt/usb

    9. Make the partition bootable with syslinux.

      syslinux /dev/sda1

    10. Use fdisk to activate the bootflag for the boot partition.

      • fdisk /dev/sda

      • Use the command p and enter to take a look at the partition table.

        Example output:

        Disk /dev/sda: 512 MB, 512999424 bytes
        16 heads, 63 sectors/track, 994 cylinders
        Units = cylinders of 1008 * 512 = 516096 bytes
        
           Device Boot   Start   End   Blocks   Id  System
        /dev/sda1            1   994   500944+   e  W95 FAT16 (LBA)
        
        Command (m for help): 
        

        Beside /dev/sda1 there is no * below Boot. That means, /dev/sda1 is not activated for boot.

        The Id should be e W95 FAT16 (LBA) or c W95 FAT32 (LBA) for partitions greater than 2GB. If you change the Id, you have to format the partition again. (You loose all data on the partition)

      • Change the bootflag for /dev/sda1

        Use a and enter.
        Now select a partition between 1-4. In my case it's 1 (sda1).

      • Change the Id for /dev/sda1 (only needed if there is a wrong Id)

        Use t Now select a partition between 1-4. In my case it's 1 (sda1).
        Now enter e for W95 FAT16 (LBA) or c for W95 FAT32 (LBA) for partitions >2GB.

      • Use p and enter to list the partition table.

        Example output:

        Disk /dev/sda: 512 MB, 512999424 bytes
        16 heads, 63 sectors/track, 994 cylinders
        Units = cylinders of 1008 * 512 = 516096 bytes
        
           Device Boot   Start   End   Blocks   Id  System
        /dev/sda1   *        1   994   500944+   e  W95 FAT16 (LBA)
        
        Command (m for help): 
        

        Now we can see the * beside /dev/sda1

        The command w writes the changes to the device and quits fdisk. If you don't want to save but quit then use q.

      • If you changed the Id, then format the partition. After formatting you have to copy all files again.

        Format: mkfs.vfat /dev/sda1, for fat32 use mkfs.vfat -F 32 /dev/sda1

    11. If the usb device does not boot, maybe the program in the mbr is not ok. You can fix this with

      lilo -M /dev/sda

    After those steps, you should be able to boot from USB with PLoP Linux.


Create bootable PLoP Linux CD/USB device with Windows


PLoP Linux can boot from CD/DVD or an USB device. Booting from floppy is no longer supported. Last version with boot from floppy was v3.2.1. and it's still available for download.

1. Create a PLoP Linux CD/DVD
1.1. Burn an ISO image
1.2. Howto create a new ISO image
2. Create a bootable PLoP Linux USB device
2.1. Make an USB device bootable step-by-step

1. Create a PLoP Linux CD/DVD

    There are 2 solutions to boot from CD/DVD. The first solution is to use the existing PLoP Linux ISO image.

    • Pro: You have to burn it on a CD as it is and it's possible to boot.
    • Contra: No antivirus licence and no antvirus database comes with the ISO. That means, no F-PROT or Avast is available.
      No personal files or scripts from you are on the CD.

    If you don't need any personal files, F-PROT or Avast, then you can use it. If you want more power, then you have to create your personal ISO image in a few steps. That's the second solution.

1.1. Burn an ISO image

    You have to download the file ploplinux-v4.0.2.iso or use your own ISO file.

    You can use Nero, the free CDBurnerXP or any other burner program that supports "burning ISO images".

    Use an option like Burn ISO to Disc or Copy ISO to Disc. Then select the PLoP Linux ISO image and burn it to the disc.

1.2. Howto create a new ISO image

    mkisofs.exe is the required tool to create a ISO image. It's a part of cdrtools.

    1. Download the zip file with the binaries called cdrtools-latest.zip from the cdrtools homepage.

    2. Extract cdrtools-latest.zip to your harddisk. Remember the folder you are extracting the files.

    3. Download ploplinux-v4.0.2.zip to your harddisk and extract the files into the cdrtools-latest folder.

    4. If you open the cdrtools-latest folder, then you should see the ploplinux-v4.0.2 folder and some files like mkisofs, cdrecord and others.

    5. Change to the ploplinux-v4.0.2 folder. You can add your files to the pluspacks/ folder. See F-PROT or Avast to add the antivirus files to your CD.

    6. Create the ISO with mkisofs.

      I wrote a small tool that helps you to create the ISO. Save plpmkiso.exe in the cdrtools-latest folder. Then run the program plpmkiso.exe. Enter the PLoP Linux version you want to create (4.0.2). Now my program runs mkisofs with the required parameters and creates the ISO image.
      If everything is ok, then a new ISO file is in your cdrtools-latest folder. Ex. ploplinux-v4.0.2.iso.

      If you want to create it by hand. the mkisofs parameters are

      mkisofs -J -r -V PLoPLinux-v4.0.2 -hide-joliet-trans-tbl -hide-rr-moved -allow-leading-dots -o ploplinux-v4.0.2.iso -no-emul-boot -boot-load-size 4 -c isolinux/boot.catalog -b isolinux/isolinux.bin -boot-info-table -l ploplinux-v4.0.2

    7. Burn the ISO image. See 1.1. Burn an ISO image.

2. Create a bootable PLoP Linux USB device

    There are no differences between the USB mass storage devices. The instructions are the same for an USB flash and an USB harddisk.

    Requirements to make an USB device bootable:

2.1. Make USB device bootable step-by-step

    You must have administrator rights to finish all steps.

    1. Plug in your USB device.

    2. In my example, the drive letter of the USB device is F:.

      Check the Filesystem. Use the right mouse click on F: and then Properties from the context menu. You can see now, how much space is left on the device and file system type. It should be FAT12, FAT16 or FAT32.

    3. Extract the PLoP Linux files from ploplinux-v4.0.2.zip on the USB drive.

      The directories ploplinux and pluspacks must be in the root directory F:\ of your usb device.

    4. Extract the PLoP Linux usb boot files from ploplinux-v4.0.2-usbboot.zip on the USB drive.

      The files boot.msg, bzimage, initrfs.gz and syslinux.cfg, must be in the root directory F:\ of your usb device.

    5. Download syslinux.exe to your desktop.

      Open the Command Prompt (in Accessories of your Windows menu).

      Change the directory to your Desktop.

      cd Desktop

      Run syslinux with your drive letter as parameter.
      BE SURE TO USE THE CORRECT DRIVE LETTER. If you use ex. C: then your windows will not boot up next time and you have to repair it with the windows rescue console.

      syslinux f:

    6. Your usb device should be bootable now.

      If your device won't boot, maybe the boot flag in the MBR of your device is not set or a wrong partition ID is set. There can be a wrong program in the mbr too (but thats no problem to fix).

      There are 2 ways to activate the bootflag and change the partition ID:

      1. With Windows

        You need the program plppart32.exe. Save it in the same folder like syslinux. Switch to the Command Prompt. To determine which device number Windows is using for your USB device run

        mmc %SystemRoot%\system32\compmgmt.msc

        Click at Storage and then at Disk Management. In the window right below you can see Disk 0 (your first harddisk), CD 0 (CD-Rom drive) and so on. Your USB device is in the list too. If your device is Disk 2 then run from the Command Prompt in the folder you stored plppart32.exe to see the partition table the command

        plppart32 -d 2 -i

        Example output:

        Using physical drive 2
        
        Drive geometry:
          Media Type         : RemovableMedia
          Cylinders          : 62
          Tracks per Cylinder: 255
          Sectors per Track  : 63
          Bytes per Sector   : 512
        
        NR  ID  BOOT    SS  SH   SC  ES  EH   EC   LBAST   LBASEC  SIZE
        ----------------------------------------------------------------------
        1  0x0e          1   1    0  63  15   992     63  1001889 489.00 MByte
        2  0x00          0   0    0   0   0     0      0        0 0.00 MByte
        3  0x00          0   0    0   0   0     0      0        0 0.00 MByte
        4  0x00          0   0    0   0   0     0      0        0 0.00 MByte
        

        The device has a Media Type RemovableMedia. The bootflag of the first partition is not set. To set the bootflag for the first partition use

        plppart32 -d 2 -p 1 -b 0x80

        The partition type should be 0x0e or 0x0c for partitions greater than 2GB. If you change the partition ID, you have to format the partition again and do all steps again.

        plppart32 -d 2 -p 1 -id 0x0e

        If you take another look at the partition table, then the partition 1 should be changed below BOOT.

        NR  ID  BOOT    SS  SH  SC  ES  EH   EC   LBAST   LBASEC  SIZE
        ---------------------------------------------------------------------
        1  0x0e *[0x80]  1   1   0  63  15   992     63  1001889 489.00 MByte
        

        If you changed the ID, then you have to format the partition and do all steps again. If you format, you loose all data on the partition.

        Now you should be able to boot. If not, maybe the mbr program is not ok. You have to fix it with linux.

      2. with Linux

        Download the PLoP Linux ISO image and burn it on a cd, bootup with Linux and see the Linux version 2.1. Make USB device bootable step-by-step point 2, 10 and 11.


Install to harddisk


You can install PLoP Linux to your harddisk with installplop. Start it from your running PLoP Linux.


F-PROT Antivirus for Linux


The F-PROT Antivirus is a free Antivirus program for personal users. Read the details at http://www.f-prot.com.

How to use it with PLoP Linux

Download the latest linux version from http://www.f-prot.com/products/ and copy the tar.gz file into the pluspacks/ directory.

Download Home: see here
Download Corporate: see here

When PLoP Linux has started, then run usefprot. Now the F-PROT files will be extracted and you can run fpscan.

Place your antivir.def into the pluspacks/ directory to use the latest definitions.


Avast Antivirus for Linux


The Avast Antivirus is a free Antivirus program for non-commertial use. Please read their licence agreement http://www.avast.com.

To run Avast from PLoP Linux, you need the following

  1. A valid licence key. You can receive the licence from the Avast homepage. They send it via email to you.

  2. The Avast program. It's available at http://www.avast.com/eng/download-avast-for-linux-edition.html. Please download the tar.gz version.

  3. The antivirus database file.

Create the following file in the PLoP Linux pluspacks/ directory.

Filename: avastrc
[licence]
key=your key

Copy the Avast file avast4workstation-1.0.8.tar.gz in the pluspacks/ directory.

To use avast you need the latest antivirus database file from avast. There are different solutions to get the latest file.

1. Update the antivirus database with Linux
1.1. From the command line
1.2. With a graphical user interface
2. Update the antivirus database with Windows

1. Update the antivirus database with Linux

    You need a working linux. This can be the linux you are working with or PLoP Linux. It's required to have a connection to the internet and a valid Avast licence.

    If you use the linux you are working with then you have to be sure that avastrc is placed in your user home directory ~/.avast/. PLoP Linux copies the avastrc file to the required position during the boot process from pluspacks/avastrc.

1.1 From the command line

    Run avast-update to download the latest antivirus database file. avast-update downloads the file 400.vps and saves it to ~/.avast/.

1.2 With a graphical user interface

    You can use avastgui to update the antivirus database file. avastgui saves the file 400.vps in your home directory ~/.avast/.

2. Update the antivirus database with Windows

    Update the antivirus database with the Avast graphical user interface. Right mouse click at the Avastball bottom right in the taskbar. Then click at Update and then iAvast update.
    The windows Avast is saving the file 400.vps in the avast installation directory. Default for the english version is C:\Program Files\Alwil Software\Avast4\DATA\.

When you got the latest 400.vps, then copy this file to the pluspacks/ directory from PLoP Linux.

When PLoP Linux has started, then run useavast. Now the Avast files will be extracted and you can run avast.


Backup/restore Windows with Partimage


This example shows you how to backup/restore a NTFS partition. The Imagefile will be saved on a NTFS formatted USB Harddisk. Make a backup of your data on a CD/DVD or anything else. If you make a mistake, you can loose your data.

Basic conditions:

  • Windows is installed on the first partition of a SATA harddisk. This partition is formatted with NTFS.
  • The partitionimage should be stored on a NTFS formatted USB harddisk.
  • Devicenode SATA harddisk: /dev/sda
  • Devicenode USB harddisk: /dev/sdb
Use dmesg to determine what device nodes linux is using for your devices. You can find an example at 2.1 Make an USB device bootable step-by-step. USB-, SCSI- and SATA-devices are using /dev/sdX. IDE-devices are using /dev/hdX. X should be replaced with a to z.

Preparations:

  1. Boot with PLoP Linux.

  2. Login as user root, there is no password, simply press ENTER

  3. Mount the USB harddisk.
    mount /dev/sdb1 /mnt -t ntfs-3g

  4. Change to the USB harddisk.
    cd /mnt

With the following instructions, you are able to create/restore partitions

1. Create a Partimage image
1.1. Batch mode
1.2. User interface
2. Restore a partition
2.1. Batch mode
2.2. User interface

1. Create a Partimage image

1.1. Batch mode

    Create an image with the filename windowsXP_20070425 from the partition /dev/sda1.
    partimage -z1 -b -d save /dev/sda1 windowsXP_20070425

1.2. User interface

  1. Start Partimage.
    partimage

  2. Select the partition you want to backup.
    /dev/sda1

  3. Change with tabulator into the next field.
    Enter a filename. ex.
    windowsXP_20070425

  4. Change with F5 to the next screen.
    You can select some options. gzip compression is good and fast.

  5. Change with F5 to the next screen.
    You can enter a description for the image.

  6. Change with 2x enter to the next screen.

  7. You can see an overview about the partition. NTFS is experimental supported, but till now I never had problems. If Partimage has troubles with the partition, then the backup process will be aborted.

2. Restore a partition

2.1. Batch mode

    Restore the partition /dev/sda1 from the file windowsXP_20070425.000.
    partimage -b restore /dev/sda1 windowsXP_20070425.000

2.2. User interface

  1. Start Partimage.
    partimage

  2. Select the partition you want to restore.
    /dev/sda1

  3. Change with Tabulator into the next field.
    Enter the image filename. ex.
    windowsXP_20070425.000

  4. Change with F5 to the next screen.
    If you are sure then answer the question with OK.
    Now your partition will be restored.


Backup/Restore Windows with fsarchiver


Backup: fsarchiver savefs windows.fsa /dev/sda1

Restore: fsarchiver restfs windows.fsa /dev/sda1


Boot from network (PXE, DHCP, TFTP, NFS, Samba/Windows network share) - Linux Server


The software requirements to boot from network are

  • A DHCP server
  • A TFTP server
  • A NFS or Samba/Windows network share

Basic conditions for this example setup:

  • Network type: 10.0.0.x Netmask 255.255.255.0
  • Server IP: 10.0.0.1
  • Client IP: will be 10.0.0.250 from dhcp with MAC address
  • TFTP root directory: /tftpboot

It works with other IP addresses too!

Here are configfiles for a linux test system in an archive: pxeconfs.tgz

1. Extract the PLoP Linux files
2. Setup the DHCP server
3. Setup the TFTP server
4. Boot with NFS
5. Boot with Samba/Windows network share

1. Extract the PLoP Linux files

    Extract the file ploplinux-v4.0.2-pxeboot.tgz to your root directory

    tar xfz ploplinux-v4.0.2-pxeboot.tgz -C /

    Now you have the basic directory structure and files in /tftpboot.

    Extract the file ploplinux-v4.0.2.tgz to /tmp

    tar xfz ploplinux-v4.0.2.tgz -C /tmp

    Move the files to /tftpboot/ploplinux/

    mv /tmp/ploplinux-v4.0.2/* /tftpboot/ploplinux/

    Now you should have the following directories and files

    /tftpboot/
             /ploplinux/
                       /bzimage
                       /pxelinux.0
                       /boot.msg
                       /memtest
                       /initrfs.gz
                       /plpbt
                       /plpinstc
                       /ploplinux/
                                 /bin.sqfs
                                 /etc.sqfs
                                 /lib.sqfs
                                 /ploplinux
                                 /myscripts/
                       /pluspacks/
                       /pxelinux.cfg/
                                    /default
    

    If you copy the opt.sqfs to the pluspacks directory, then you are able to run gnome over the network and use firefox and other tools.

2. Setup the DHCP server

    You need the DHCP server software. If your distribution has none then you can use dhcp-3.1.3 (or search for the latest on the net) and compile it.

    This is the example dhcp server configuration.
    The very important line is filename "/ploplinux/pxelinux.0";

    Filename: /etc/dhcpd.conf
    ddns-update-style ad-hoc;
    
    subnet 10.0.0.0 netmask 255.255.255.0 {
    
            option routers 10.0.0.1;
    
    }
    
    allow booting;
    allow bootp;
    
    # Standard configuration directives...
    
    option domain-name "plop";
    option subnet-mask 255.255.255.0;
    option broadcast-address 10.0.0.255;
    option domain-name-servers 10.0.0.1;
    option routers 10.0.0.1;
    
    # Group the PXE bootable hosts together
    group {
    	# PXE-specific configuration directives...
    	next-server 10.0.0.1;
    	filename "/ploplinux/pxelinux.0";
    
    	# You need an entry like this for every host
    	# unless you're using dynamic addresses
            host testpc {
    	        hardware ethernet 00:0C:6E:A6:1A:E6;
    		fixed-address 10.0.0.250;
    	}
    }
    
    

    To start the dhcp server simply run dhcpd

3. Setup the TFTP server

    Download the latest TFTP server from ftp://www.kernel.org/pub/software/network/tftp/ and install it with ./configure --prefix=/usr && make && make install

    To start the TFTP server we use xinetd

    Here is the base xinetd config file

    Filename: /etc/xinetd.conf
    #
    # Simple configuration file for xinetd
    #
    # Some defaults, and include /etc/xinetd.d/
    
    defaults
    {
    	log_type	= SYSLOG daemon info
    	log_on_success	= PID HOST DURATION
    	log_on_failure	= HOST
    	instances	= 100
    	per_source	= 20
    }
    
    includedir /etc/xinetd.d
    
    

    And the configuration for the tftp server.
    The important line is server_args = -s /tftpboot for the tftp root directory.

    Filename: /etc/xinetd.d/tftp
    
    # default: off
    # description: The tftp server serves files using the trivial 
    
    # file transfer \
    # protocol. The tftp protocol is often used to boot diskless \
    # workstations, download configuration files to 
    
    # network-aware printers, \
    # and to start the installation process for some operating systems.
    service tftp
    {
    
    socket_type = dgram
    protocol = udp
    wait = yes
    user = root
    #only_from = 10.0.0.1
    server = /usr/sbin/in.tftpd
    server_args = -s /tftpboot
    disable = no 
    per_source = 11
    cps = 100 2
    
    }
    
    

    To start xinetd simply run xinetd

4. Boot with NFS

    Basic configs for your NFS server, without security aspects

    Filename: /etc/exports

    /tftpboot/ploplinux 10.0.0.250(ro)
    

    Filename: /etc/hosts.allow

    portmap: 10.0.0.0/255.255.255.0
    lockd: 10.0.0.0/255.255.255.0
    rquotad: 10.0.0.0/255.255.255.0
    mountd: 10.0.0.0/255.255.255.0
    statd: 10.0.0.0/255.255.255.0
    

    Filename: /etc/hosts.deny

    portmap:ALL
    lockd:ALL
    mountd:ALL
    rquotad:ALL
    statd:ALL
    

    Filename: /tftpboot/ploplinux/pxelinux.cfg/default
    The important line is nfsmount=10.0.0.1:/tftpboot/ploplinux.

    default linux
    display boot.msg
    timeout 100
    prompt 1
    
    label linux
    kernel bzimage
    append initrd=initrfs.gz vga=1 nfsmount=10.0.0.1:/tftpboot/ploplinux
    
    
    label linuxfb
    kernel bzimage
    append initrd=initrfs.gz vga=0x318 nfsmount=10.0.0.1:/tftpboot/ploplinux
    
    label hd
    localboot 0x80
    append -
    
    label plp
    linux plpbt.bin
    
    
    label plpinst
    linux plpinst.com
    
    label memtest
    kernel memtest
    
    

    If the dhcp, xinetd and nfs server are running correct you should be able to boot PLoP Linux via network. If you copy the opt.sqfs to the pluspacks directory, then you are able to run gnome over the network and use firefox and other tools.

5. Boot with Samba/Windows network share

    Basic configs for your Samba server, without security aspects

    Filename: /etc/samba/smb.conf

    ;=== CUT =====
    
    [ploplinux]
      path = /tftpboot/ploplinux
      writable = no
      read only = no
    
    
    ;=== CUT =====
    

    Filename: /tftpboot/ploplinux/pxelinux.cfg/default
    The important line is smbmount=//10.0.0.1/ploplinux:SMBUSER:SMBPASSWORD.
    Replace SMBUSER with the username and SMBPASSWORD with the password of the samba user to access the share. If you have access to all users then use "" for SMBUSER and for an empty password use "" for SMBPASSWORD

    default linux
    display boot.msg
    timeout 100
    prompt 1
    
    label linux
    kernel bzimage
    append initrd=initrfs.gz vga=1 smbmount=//10.0.0.1/ploplinux:SMBUSER:SMBPASSWORD
    
    
    label linuxfb
    kernel bzimage
    append initrd=initrfs.gz vga=0x318 smbmount=//10.0.0.1/ploplinux:SMBUSER:SMBPASSWORD
    
    label hd
    localboot 0x80
    append -
    
    label plp
    linux plpbt.bin
    
    label plpinst
    linux plpinst.com
    
    label memtest
    kernel memtest
    
    

    If the dhcp, xinetd and samba server are running correct you should be able to boot PLoP Linux via network. If you copy the opt.sqfs to the pluspacks directory, then you are able to run gnome over the network and use firefox and other tools.


Boot from network (PXE, DHCP, TFTP, Windows network share) - Windows Server


The software requirements to boot from network are

  • A DHCP server
  • A TFTP server
  • A Windows network share

Basic conditions for this example setup:

  • Network type: 10.0.0.x Netmask 255.255.255.0
  • Server IP: 10.0.0.1
  • Client IP: received from the dhcp server
  • TFTP root directory: c:\tftpboot

It works with other IP addresses too!

1. Extract the PLoP Linux files
2. Setup the DHCP and TFTP server
3. Boot with Windows network share

1. Extract the PLoP Linux files

    Extract the file ploplinux-v4.0.2-pxeboot.zip to c:\

    Now you have the basic directory structure and files in c:\tftpboot.

    Extract the file ploplinux-v4.0.2.zip to c:\tftpboot\ploplinux

    Rename ploplinux-v4.0.2\ to ploplinux\. This Directory is after renaming c:\tftpboot\ploplinux\ploplinux\

    Now you should have the following directories and files

    c:\tftpboot\
               \ploplinux\
                         \bzimage
                         \pxelinux.0
                         \boot.msg
                         \memtest
                         \initrfs.gz
                         \plpbt
                         \plpinstc
                         \ploplinux\
                                   \bin.sqfs
                                   \etc.sqfs
                                   \lib.sqfs
                                   \ploplinux
                                   \myscripts\
                         \pluspacks\
                         \pxelinux.cfg\
                                      \default
    

    If you copy the opt.sqfs to the pluspacks directory, then you are able to run gnome over the network and use firefox and other tools.

2. Setup the DHCP and TFTP server

    Use TFTPD32 from http://tftpd32.jounin.net/. This is a DHCP and TFTP server in one program.

    TFTPD32 settings:

    • Set base directory to c:\tftpboot
    • Enable TFTP server
    • Enable DHCP server
    • If needed TFTP security none
    • Enable Option negotiation
    • Enable Translate Unix file names

    Setup DHCP:

    • IP pool address starting with 10.0.0.100
    • Boot File \ploplinux\pxelinux.0

3. Boot with Windows network share

    Share the directory c:\tftpboot\ploplinux with the share name ploplinux.

    The last step is to edit the file c:\tftpboot\ploplinux\pxelinux.cfg\default

    Filename: c:\tftpboot\ploplinux\pxelinux.cfg\default
    The important line is smbmount=//10.0.0.1/ploplinux:SMBUSER:SMBPASSWORD.
    Replace SMBUSER with the username and SMBPASSWORD with the password of the user to access the network share. If you have access to all users then use "" for SMBUSER and for an empty password use "" for SMBPASSWORD

    default linux
    display boot.msg
    timeout 100
    prompt 1
    
    label linux
    kernel bzimage
    append initrd=initrfs.gz vga=1 smbmount=//10.0.0.1/ploplinux:SMBUSER:SMBPASSWORD
    
    
    label linuxfb
    kernel bzimage
    append initrd=initrfs.gz vga=0x318 smbmount=//10.0.0.1/ploplinux:SMBUSER:SMBPASSWORD
    
    label hd
    localboot 0x80
    append -
    
    label plp
    linux plpbt.bin
    
    label plpinst
    linux plpinst.com
    
    label memtest
    kernel memtest
    
    

    If the tftpd32 is running correct you should be able to boot PLoP Linux via network.

    If you copy the opt.sqfs to the pluspacks directory, then you are able to run gnome over the network and use firefox and other tools.


Xorg, Gnome, Fluxbox, gparted and more


I created a opt.sqfs with Xorg, Gnome, Fluxbox, gparted, a picture viewer, firefox, mplayer and other programs. You simply have to download opt.sqfs and copy it to the pluspacks directory. You can start Gnome with startx. The opt.sqfs will be optimized in the future.

ploplinux-v4.0.2-X.iso is a LiveCD with Gnome.

Screenshot:

Zoom


x64 (64bit) version


ploplinux-v4.0.2-x64.iso is the 64bit version of PLoP Linux. The kernel has 32bit emulation activated. This means, you are able to run all programs from the 32bit PLoP Linux. This 64bit version can be used to chroot to a 64bit linux and run programs there.

Replace the files from ploplinux-v4.0.2-x64-diff.tgz or ploplinux-v4.0.2-x64-diff.zip with the files in your 32bit PLoP Linux to enable the 64bit mode.


Locale settings


Add locale-archive.gz to the pluspacks/ directory. Extract it with gunzip locale-archive.gz

Example to setup german locale in runme.sh:
                                                                                
setfont lat0-16 -m 8859-1                                                       
loadkeys de-latin1                                                              
echo export LANG=de_DE.UTF8 >> /etc/profile 


Perl modules


Add perl5.tar.gz to the pluspacks/ directory. Extract it with tar xfz perl5.tar.gz


Welcome text


Edit the file myscripts/welcome.txt to change the text.


C compiler


I created a opt.sqfs for you with gcc to compile software. You simply have to download opt.sqfs and copy it to the pluspacks directory.

ploplinux-v4.0.2-X.iso is a LiveCD with gcc.


Adding software with example of adding alsa, mp3blaster and mplayer to play music and videos


Thera are 2 ways to add software. The quick and dirty way, or the clean way.

1. Quick and dirty

Simply take the compiled binary file of the program you want to add from your running linux distribution and copy them into the ploplinux/myscripts directory. This should work mostly for small programs.

If you run the program with PLoP Linux and the message error while loading shared libraries: cames up, then you have to copy the required library file from your distribution to ploplinux/myscripts. To see what libraries a program needs, run ldd [file].

2. The clean way

The clean way is to compile the programs and install them to /opt. You need some experience for this way. I provide you an example how to install libraries and programs to PLoP Linux.

2.1. Compile to /opt

Most programs have a configure script. This makes it easy to see if something is missing and set the installation path.
For configuring and compiling use

./configure --prefix=/opt && make && make install

When all programs compiled, then create the squashfs archive.

cd /
mksquashfs opt opt.sqfs

If your distribution does not have the mksquashfs command then boot with PLoP Linux and create the archive with PLoP Linux.

When you created the archive, then copy it into the pluspacks/ directory. Since PLoP Linux 3.7.12 there is the new script mountopt that mounts the opt.sqfs to /opt at startup.

If you run your program with PLoP Linux and the message error while loading shared libraries: cames up, then some libraries are missing. You have to compile them to. To see what libraries a program needs, run ldd [file].

2.2. Example: adding alsa, mp3blaster and mplayer to play music and videos

Download ploplinux-opt-20080828.tgz (18MB).

In this archive are 3 directories

  • 10alsa - has the alsa libraries and tools
  • 20ogg - has the ogg libraries and tools
  • 30player - has the mp3blaster and mplayer source codes

Every directory has a run.sh script. This compiles the programs in the directory and install them into /opt.

If you want more codec support for mplayer, then download all-20071007.tar.bz2 from http://www.mplayerhq.hu/MPlayer/releases/codecs/ and extract it to /opt/lib/codecs.

tar xfj all-20071007.tar.bz2
mkdir -p /opt/lib/codecs
mv all-20071007/* /opt/lib/codecs

When you compiled all files, create the opt.sqfs and copy it to the pluspacks directory.

2.3. Using mplayer and mp3blaster with PLoP Linux

If you want to play videos, then start PLoP Linux with linuxfb.

Run pciprobe to load the soundcard module .

Or you can use modprobe [module] to load the module by hand or load it with runme.sh.

Start alsamixer or nmixer to unmute the soundcard. Mute and unmute with key m. If you want to keep the settings for the next start, then run alsactl store to create /etc/asound.state. Use this file to copy it with myscripts/runme.sh back to /etc and use alsactl restore to reload the settings.

Now you can use mp3blaster to play music and mplayer for videos or music.


Special commands


eth-quick setup ip address for eth0
dhclient-get ip address from dhcp server
pciprobe-load device modules
ntfs mount-mount -t ntfs-3g devicename mountpoint
usefprot-extract fprot to use it
useavast-extract avast to use it


Boot parameter


copy2ram-copy the linux files to the ram
root=-required to force a boot device, ex. root=/dev/hda4
vga=-set screen resolution / framebuffer
force_hd-do not scan cdrom drives
force_usb-do not scan ide harddisks
media_reverse_scan-scan drive from i to a
nfsmount=-network boot parameter, see boot from network
smbmount=-network boot parameter, see boot from network


FAQ's - Frequently asked questions


  1. I want to run my scripts at start of PLoP Linux without login

  2. I modified runme.sh and now i got the error message ": command not found"

  3. I want to use dhcp

  4. How can i restart Samba

  5. I want to use my own smb.conf and other config files

  6. Whats the samba password

  7. Howto change the samba password

  8. I don't want to set my samba password every time again

  9. Whats the ssh password

  10. I don't want to set my password every time again

  11. I can't write to my NTFS Partition

  12. ntfs-3g mount: Windows is hibernated. refused to mount

  13. Change keyboard layout/map

  14. I do not see files with 'umlauten' on a device mounted with ntfs-3g

  15. I dont want autologin on terminal one

  16. I want to use startx at startup

 

  1. I want to run my scripts at start of PLoP Linux without login

    The file ploplinux/myscripts/runme.sh starts before login. Add your scripts in this file.

  2. I modified runme.sh and now i got the error message ": command not found"

    Mostly runme.sh was edited with an editor in Microsoft Windows. Use another editor (ex. vim), or convert runme.sh in linux with the command dos2unix.

  3. I want to use dhcp

    Run dhclient to receive the IP from a DHCP server. You can add it to ploplinux/myscripts/runme.sh.

  4. How can i restart Samba

    Use the following command: killall -9 smbd nmbd; smbd; nmbd

  5. I want to use my own smb.conf and other config files

    Create your config files and store it in ploplinux/myscripts. Let update your files with ploplinux/myscripts/runme.sh at every PLoP Linux start.

    Example runme.sh for Samba
    #!/bin/sh
    # modify this script as you wish, it will be executed after
    # the plop linux init. path is already set here (/media/ploplinux/myscripts)
    
    killall -9 smbd nmbd
    cp /media/ploplinux/myscripts/smb.conf /etc/samba/smb.conf
    smbd
    nmbd
    

  6. Whats the samba password

    The samba root password is "rescue".

  7. Howto change the samba password

    Use smbpasswd to change the password.

  8. I don't want to set my samba password every time again

    Change you password in PLoP Linux with smbpasswd. Copy /etc/samba/private/smbpasswd away form PLoP Linux. Create a new ISO image with the saved smbpasswd file in ploplinux/myscripts/ and modify runme.sh.

    runme.sh

    #!/bin/sh
    # modify this script as you wish, it will be executed after
    # the plop linux init. path is already set here (/media/ploplinux/myscripts)
    
    cp /media/ploplinux/myscripts/smbpasswd /etc/samba/private/smbpasswd
    
    

  9. Whats the ssh password

    The ssh password is the same as the login password. There is no login password for root, so you have to set a password before the first ssh login.

    As root: passwd

  10. I don't want to set my password every time again

    Change you password in PLoP Linux with passwd. Copy /etc/shadow away form PLoP Linux. Create a new ISO image with the saved shadow file in ploplinux/myscripts/ and modify runme.sh.

    runme.sh

    #!/bin/sh
    # modify this script as you wish, it will be executed after 
    # the plop linux init. path is already set here (/media/ploplinux/myscripts)
    
    cp /media/ploplinux/myscripts/shadow /etc/shadow
    
    

  11. I can't write to my NTFS Partition

    In the most cases you forgot the mount parameter -t ntfs-3g.

    Correct mount for a NTFS Partitions: mount -t ntfs-3g <device> <mountpoint>

  12. ntfs-3g mount: Windows is hibernated. refused to mount

    Writing to this partition is not allowed. Mount the partition with -t ntfs-3g -o ro. The partition will be mounted as read-only.

  13. Change keyboard layout/map

    Ex. german keyboard map

    loadkeys de-latin1

    You can add this to myscripts/runme.sh

  14. I do not see files with 'umlauten' on a device mounted with ntfs-3g

    You have to add locale settings

    mount -t ntfs-3g -o locale=de_DE.UTF-8 <device> <mountpoint>

  15. I dont want autologin on terminal one

    Remove the file myscripts/autologin

  16. I want to use startx at startup

    Uncomment in runme.sh autostartx.


ChangeLog


Download: ChangeLog


Download


You can download all files here.