[Seite auf Deutsch]

Plop Linux


page update: 27/Nov/2011
Print version
Introduction
System requirements
Features
Screenshots
Download
!! 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
AVG 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
Ext2/3 instead of FAT
Splash screen
Special commands
Boot parameter
FAQ's - Frequently asked questions

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.

Very often asked: Whats the base distribution of Plop Linux? Answer: Plop Linux is built from scratch, there is no other distribution.

Current stable: 4.1.2

Next release: ploplinux-4.1.3-test2


Info: Alternative to the official usb install method, you can use following tools made by others:


System requirements


  • Intel i486 compatible processor
  • 64MB ram

Features


  • booting from CD/DVD, USB and network
  • Linux kernel 3.0.1
  • 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
  • testdisk, photorec
  • 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.
  • wine, mono, vnc, gparted, firefox, ...
  • Flash player, LibreOffice, OpenOffice

Screenshots


Boot menu

zoom
     Console

zoom
     Console

zoom
     Gnome

zoom
     Fluxbox

zoom

Download


Download ChangeLog

Version: Standard This runs on PC's with 32bit and 64bit processors. Compiled for 32bit with ram access up to 64Gig (i586 with PAE, i686 and newer)

Version: x64 This is a 64bit kernel version. Runs only on PC's with 64bit processors.

Version: i486 for old PC's.

2011-08-16 opt.sqfs has been updated. It has been updated in the X iso's too.

Plop Linux 4.1.2, released 2011-08-16

ploplinux-4.1.2.md5sum MD5SUM  
Live CD's
ploplinux-4.1.2.iso LiveCD ISO 75 MB
ploplinux-4.1.2-X.iso LiveCD ISO - Xorg, Gnome, Fluxbox, .... 673 MB
Plop Linux Compressed
ploplinux-4.1.2.tgz compressed 72 MB
ploplinux-4.1.2.zip compressed 72 MB
Network boot files
ploplinux-pxeboot.tgz PXE configuration / base directory structure 0.3 MB
ploplinux-pxeboot.zip PXE configuration / base directory structure 0.3 MB


opt.sqfs
opt.sqfs Version 20110816 - Gnome, gparted, gnome, wine, mono, firefox, ...
Detail list of programs
451MB
locale-archive.gz Unpack in ploplinux/opt: gunzip locale-archive.gz 17MB
perl5.tar.gz Unpack in ploplinux/opt: tar xfz perl5.tar.gz 10MB


Plop Linux 4.1.2-x64, released 2011-08-16

ploplinux-4.1.2-x64.md5sum MD5SUM  
Live CD's
ploplinux-4.1.2-x64.iso LiveCD ISO 75 MB
ploplinux-4.1.2-x64-X.iso LiveCD ISO - Xorg, Gnome, Fluxbox, .... 673 MB
Plop Linux Compressed
ploplinux-4.1.2-x64.tgz compressed 72 MB
ploplinux-4.1.2-x64.zip compressed 72 MB


Plop Linux 4.1.2-i486, released 2011-08-16

ploplinux-4.1.2-i486.md5sum MD5SUM  
Live CD's
ploplinux-4.1.2-i486.iso LiveCD ISO 75 MB
ploplinux-4.1.2-i486-X.iso LiveCD ISO - Xorg, Gnome, Fluxbox, .... 673 MB
Plop Linux Compressed
ploplinux-4.1.2-i486.tgz compressed 72 MB
ploplinux-4.1.2-i486.zip compressed 72 MB
ploplinux-4.1.2-i486-FPU.tgz added 2011-08-17 FPU emulation enabled 72 MB




Create bootable Plop Linux CD/USB device with Linux


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-4.1.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-4.1.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-4.1.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-4.1.2.tgz to your home directory.
    Then extract the downloaded file.

    tar xfvz ploplinux-4.1.2.tgz

1.2.2. Adding files

    The directory ploplinux-4.1.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 ploplinux/opt/ directory. Executeable files should be placed in ploplinux/bin/.

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-4.1.2 \
    -hide-joliet-trans-tbl -hide-rr-moved \
    -allow-leading-dots \
    -o ploplinux-4.1.2.iso -no-emul-boot -boot-load-size 4 \
    -c syslinux/boot.catalog -b syslinux/isolinux.bin \
    -boot-info-table -l ploplinux-4.1.2

    You can download the script make-iso.sh when you don't want to type the whole stuff.

    Run sh make-iso.sh 4.1.2 from the command line in your home directory to create the ISO image ploplinux-4.1.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 fat.


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

    4. You have to download the file ploplinux-4.1.2.tgz to your home directory.

      Then extract the downloaded file.

      tar xfvz ploplinux-4.1.2.tgz

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

      cp -avr ploplinux-4.1.2/* /mnt/usb/

    6. Unmount the USB device.

      umount /mnt/usb

    7. Make the partition bootable with syslinux.

      syslinux /dev/sda1

    8. 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

    9. 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


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-4.1.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 mkisofs.zip. It contains the required binaries of cdrtools-latest.zip from the cdrtools homepage and the program plpmkiso.exe.

    2. Extract mkisofs.zip to your harddisk. Remember the folder you are extracting the files.

    3. Download ploplinux-4.1.2.zip to your harddisk and extract the files into the mkisofs folder.

    4. When you open the mkisofs folder, then you should see the ploplinux-4.1.2 folder and some files like mkisofs and plpmkiso.

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

    6. Create the ISO with mkisofs. Run the program plpmkiso.exe. Enter the Plop Linux version you want to create (4.1.2). Now my program runs mkisofs with the required parameters and creates the ISO image.
      When everything is ok, then a new ISO file is in your mkisofs folder. Ex. ploplinux-4.1.2.iso.

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

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

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

2. Create a bootable Plop Linux USB device

2.1. Make USB device bootable step-by-step

    Requirements to make an USB device bootable:

    • You must have administrator rights to finish all steps.
    • Filesystem on the device must be FAT.
    • The Plop Linux file ploplinux-4.1.2.zip
    • The program syslinux.exe.

    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-4.1.2.zip on the USB drive.

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

    4. 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:

    5. 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 installploplinux. 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 ploplinux/opt/ directory.

Download Home: see here
Download Corporate: see here

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

Place your antivir.def into the ploplinux/opt/ 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 ploplinux/opt/ directory.

Filename: avastrc
[licence]
key=your key

Copy the Avast file avast4workstation-1.0.8.tar.gz in the ploplinux/opt/ 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 ploplinux/opt/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 ploplinux/opt/ directory from Plop Linux.

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


AVG Antivirus for Linux


AVG is free for personal use. Download the latest version from http://free.avg.com/us-en/download.prd-alf.

Install AVG to your prefered linux distribution with sh avg85flx-r855-a3656.i386.sh
This installs AVG to /opt/avg/avg8/

Then run the commands

cd /opt/avg
tar cfz avg.tgz avg8

This creates the file /opt/avg/avg.tgz. Copy this file to the ploplinux/opt/ directory.

When Plop Linux has started, then run setupavg. Now the AVG files will be extracted and you can run avg.


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-pxeboot.tgz to your root directory

    tar xfz ploplinux-pxeboot.tgz -C /

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

    Extract the file ploplinux-4.1.2.tgz to /tmp

    tar xfz ploplinux-4.1.2.tgz -C /tmp

    Move the files to /tftpboot/ploplinux/

    mv /tmp/ploplinux-4.1.2/* /tftpboot/ploplinux/

    Now you should have the following directories and files

    /tftpboot/
             /ploplinux/
                       /boot.msg
                       /memtest
    		   /menu.c32
    		   /spash.png
    		   /vesamenu.c32
                       /pxelinux.0
                       /ploplinux/
                                 /bin/
                                 /bin.sqfs
                                 /etc.sqfs
                                 /lib.sqfs
    			     /opt/
                                 /ploplinux
                       /pxelinux.cfg/
                                    /default
    		   /syslinux/
    		            /kernel/
    		                   /bzImage
    			           /initramfs.gz
    		            /plop/
    		                 /plpbt.bin
    			         /plpinstc.com
    

    When you copy the opt.sqfs to the ploplinux/opt/ 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 vesamenu.c32
    prompt 0
    timeout 100
    
    menu background splash.png
    
    menu title Welcome to Plop Linux
    
    menu color border 	37;40 	#00000000 #00000000 none
    menu color title  	1;37;40	#00000000 #00000000 none
    menu color tabmsg  	40;37	#88888888 #00000000 none
    menu color sel  	1;37;42	#ffffffff #ff808080 none
    menu color unsel  	1;40;32	#ff00ff00 #00000000 none
    
    
    
    label linux
        menu label Plop Linux
        kernel syslinux/kernel/bzImage
        append initrd=syslinux/kernel/initramfs.gz vga=1 nfsmount=10.0.0.1:/tftpboot/ploplinux
    
    
    label linuxfb
        menu label Plop Linux framebuffer mode
        kernel syslinux/kernel/bzImage
        append initrd=syslinux/kernel/initramfs.gz vga=0x317 nfsmount=10.0.0.1:/tftpboot/ploplinux
    
    menu separator
    
    label hd
        menu label ^Boot harddisk
        localboot 0x80
        append -
    
    menu separator
    
    label plp
        menu label ^Plop Boot Manager
        linux syslinux/plop/plpbt.bin
    
        text help
    	Licence: free for personal and non-commercial use only
        endtext
    
    label plpinst
        menu label Plop Boot Manager installer
        linux syslinux/plop/plpinstc.com
    
        text help
    	Licence: free for personal and non-commercial use only
        endtext
    
    menu separator
    
    label Memtest
        menu label ^Memtest
        kernel memtest
    
    

    If the dhcp, xinetd and nfs server are running correct you should be able to boot Plop Linux via network. When you copy the opt.sqfs to the ploplinux/opt/ 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 vesamenu.c32
    prompt 0
    timeout 100
    
    menu background splash.png
    
    menu title Welcome to Plop Linux
    
    menu color border 	37;40 	#00000000 #00000000 none
    menu color title  	1;37;40	#00000000 #00000000 none
    menu color tabmsg  	40;37	#88888888 #00000000 none
    menu color sel  	1;37;42	#ffffffff #ff808080 none
    menu color unsel  	1;40;32	#ff00ff00 #00000000 none
    
    
    
    label linux
    menu label Plop Linux
        kernel syslinux/kernel/bzImage
        append initrd=syslinux/kernel/initramfs.gz vga=1 smbmount=//10.0.0.1/ploplinux:SMBUSER:SMBPASSWORD
    
    
    label linuxfb
    menu label Plop Linux framebuffer mode
        kernel syslinux/kernel/bzImage
        append initrd=syslinux/kernel/initramfs.gz vga=0x317 smbmount=//10.0.0.1/ploplinux:SMBUSER:SMBPASSWORD
    
    menu separator
    
    label hd
        menu label ^Boot harddisk
        localboot 0x80
        append -
    
    menu separator
    
    label plp
        menu label ^Plop Boot Manager
        linux syslinux/plop/plpbt.bin
    
        text help
    	Licence: free for personal and non-commercial use only
        endtext
    
    label plpinst
        menu label Plop Boot Manager installer
        linux syslinux/plop/plpinstc.com
    
        text help
    	Licence: free for personal and non-commercial use only
        endtext
    
    menu separator
    
    label Memtest
        menu label ^Memtest
        kernel memtest
    
    

    If the dhcp, xinetd and samba server are running correct you should be able to boot Plop Linux via network. When you copy the opt.sqfs to the ploplinux/opt/ 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-pxeboot.zip to c:\

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

    Extract the file ploplinux-4.1.2.zip

    Copy the content of the directory ploplinux-4.1.2\ to c:\tftpboot\ploplinux\.

    Now you should have the following directories and files

    c:\tftpboot\
               \ploplinux\
                         \boot.msg
                         \memtest
    		     \menu.c32
    		     \spash.png
    		     \vesamenu.c32
                         \pxelinux.0
                         \ploplinux\
                                   \bin\
                                   \bin.sqfs
                                   \etc.sqfs
                                   \lib.sqfs
    			       \opt\
                                   \ploplinux
                         \pxelinux.cfg\
                                      \default
    		     \syslinux\
    		              \kernel\
    		                     \bzImage
    			             \initramfs.gz
    		              \plop\
    		                   \plpbt.bin
    			           \plpinstc.com
    
    

    When you copy the opt.sqfs to the ploplinux/opt/ 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 vesamenu.c32
    prompt 0
    timeout 100
    
    menu background splash.png
    
    menu title Welcome to Plop Linux
    
    menu color border 	37;40 	#00000000 #00000000 none
    menu color title  	1;37;40	#00000000 #00000000 none
    menu color tabmsg  	40;37	#88888888 #00000000 none
    menu color sel  	1;37;42	#ffffffff #ff808080 none
    menu color unsel  	1;40;32	#ff00ff00 #00000000 none
    
    
    
    label linux
    menu label Plop Linux
        kernel syslinux/kernel/bzImage
        append initrd=syslinux/kernel/initramfs.gz vga=1 smbmount=//10.0.0.1/ploplinux:SMBUSER:SMBPASSWORD
    
    
    label linuxfb
    menu label Plop Linux framebuffer mode
        kernel syslinux/kernel/bzImage
        append initrd=syslinux/kernel/initramfs.gz vga=0x317 smbmount=//10.0.0.1/ploplinux:SMBUSER:SMBPASSWORD
    
    menu separator
    
    label hd
        menu label ^Boot harddisk
        localboot 0x80
        append -
    
    menu separator
    
    label plp
        menu label ^Plop Boot Manager
        linux syslinux/plop/plpbt.bin
    
        text help
    	Licence: free for personal and non-commercial use only
        endtext
    
    label plpinst
        menu label Plop Boot Manager installer
        linux syslinux/plop/plpinstc.com
    
        text help
    	Licence: free for personal and non-commercial use only
        endtext
    
    menu separator
    
    label Memtest
        menu 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 ploplinux/opt/ 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 ploplinux/opt/ directory. You can start Gnome with startx. The opt.sqfs will be optimized in the future. You can run Gnome and Fluxbox from the network.

ploplinux-4.1.2-X.iso is a LiveCD with Gnome. Program list

Screenshot:
Gnome

Zoom
     Fluxbox

Zoom

Run Gnome at startup: Remove the # in front of autostartx in the file ploplinux/bin/rc.local.


Flashplayer


Download the latest Adobe Flash Player from Adobe. Choose the tar.gz version. Extract the file and copy libflashplayer.so to the Plop Linux directory ploplinux/opt/.


LibreOffice and OpenOffice


You can add LibreOffice and / or OpenOffice to opt.sqfs. Use the addoffice.sh script.

Parameters

First parameter:
  the office install-rpm-tar.gz file

second parameter (required for LibreOffice, recommended for OpenOffice):
  the JRE install bin file

To create the new opt.sqfs you need

  • A linux file system (ext2/3/4). FAT or NTFS does not work!

  • About 4.5G free space (the final opt.sqfs will have about 650MB)

  • The Plop Linux opt.sqfs with X

  • For LibreOffice:
    The install rpm tar gz file from the LibreOffice download page. Example name: LibO_3.4.2_Linux_x86_install-rpm_en-US.tar.gz
    JRE rpm bin file from the Oracle java download page. Example name: jre-6u25-linux-i586-rpm.bin

  • For OpenOffice:
    The linux install rpm tar gz file from the OpenOffice download page. Example name: OOo_3.3.0_Linux_x86_install-rpm-wJRE_en-US.tar.gz
    JRE rpm bin file from the Oracle java download page. Example name: jre-6u25-linux-i586-rpm.bin

  • When you don't use Plop Linux to add office to the opt.sqfs then you need the programs mksquashfs, unsquashfs, rpm2targz, head, grep.

How to use addoffice.sh

Create in your home directory a new directory. For this example we use ploplinux_newopt.

Copy the following files to ploplinux_newopt:

  • addoffice.sh
  • jre-6u25-linux-i586-rpm.bin
  • LibO_3.4.2_Linux_x86_install-rpm_en-US.tar.gz or OOo_3.3.0_Linux_x86_install-rpm-wJRE_en-US.tar.gz
  • opt.sqfs

When you have all required programs then open a terminal, change to ploplinux_newopt and run for LibreOffice

sh addoffice.sh LibO_3.4.2_Linux_x86_install-rpm_en-US.tar.gz jre-6u25-linux-i586-rpm.bin

for OpenOffice

sh addoffice.sh OOo_3.3.0_Linux_x86_install-rpm-wJRE_en-US.tar.gz jre-6u25-linux-i586-rpm.bin

The script creates the file opt_new.sqfs. Replace it with the old opt.sqfs of Plop Linux.

Use addoffice.sh with Plop Linux

We assume you copied all required files to ploplinux_newopt.

  • Boot Plop Linux

  • Mount the linux drive with the ploplinux_newopt. You can use the command automount to mount all drives to /mnt

  • Change to ploplinux_newopt. Use mc /mnt to walk quickly through the directories.

  • When you are in ploplinux_newopt then run for LibreOffice

    sh addoffice.sh LibO_3.4.2_Linux_x86_install-rpm_en-US.tar.gz jre-6u25-linux-i586-rpm.bin

    for OpenOffice

    sh addoffice.sh OOo_3.3.0_Linux_x86_install-rpm-wJRE_en-US.tar.gz jre-6u25-linux-i586-rpm.bin

  • The script creates the file opt_new.sqfs. Replace it with the old opt.sqfs of Plop Linux.


x64 (64bit) version


ploplinux-4.1.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.


Locale settings


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

Example to setup german locale in rc.local:
                                                                                
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 ploplinux/opt/ directory. Extract it with tar xfz perl5.tar.gz


Welcome text


Edit the file ploplinux/bin/welcome.txt to change the text.


C compiler


ploplinux-development-20100215.fsa is a fsarchiver image with gcc.


Ext2/3 instead of FAT


If you want to use Ext2/3 on your USB drive then use extlinux instead of syslinux. The file syslinux.cfg must be renamed to extlinux.conf.


Splash screen


Replace the file syslinux/splash.png with your own image.

Background image  
Zoom
 
Screenshot with menu  
Zoom

You find detailed infos with commands and colors and so on at the syslinux menu.c32 page.

If you want a textmode menu then use menu.c32 instead of vesamenu.c32.


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
setupfprot-extract fprot to use it
setupavast-extract avast to use it
setupavg-extract avg to use it


Boot parameter


copy2ram-copy the linux files to the ram
busybox-start Busybox
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
dir=-search Plop Linux in another directory than /ploplinux
Example: dir=/test/ploplinux2


FAQ's - Frequently asked questions


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

  2. I modified rc.local 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

  17. How to disable monitor turn off

  18. How to disable kernel messages

 

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

    The file ploplinux/bin/rc.local starts before login. Add your scripts in this file.

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

    Mostly rc.local was edited with an editor in Microsoft Windows. Use another editor (ex. vim), or convert rc.local 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/bin/rc.local.

  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/bin. Let update your files with ploplinux/bin/rc.local at every Plop Linux start.

    Example rc.local 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/bin)
    
    killall -9 smbd nmbd
    cp /media/ploplinux/bin/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/bin/ and modify rc.local.

    rc.local

    #!/bin/sh
    # modify this script as you wish, it will be executed after
    # the plop linux init. path is already set here (/media/ploplinux/bin)
    
    cp /media/ploplinux/opt/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/opt/ and modify rc.local.

    rc.local

    #!/bin/sh
    # modify this script as you wish, it will be executed after 
    # the plop linux init. path is already set here (/media/ploplinux/bin)
    
    cp /media/ploplinux/opt/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 ploplinux/bin/rc.local

  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 ploplinux/bin/autologin

  16. I want to use startx at startup

    Uncomment in rc.local autostartx.

  17. How to disable monitor turn off

    For the console use setterm -blank 0 add it to the rc.local.

    For the X-Server (with gnome and fluxbox) use xset -dpms s off add it to the top of /root/.xinitrc

  18. How to disable kernel messages

    To disable the bootup kernel messages add to the append line in the isolinux.cfg (and similar) the parameter quiet

    To disable the kernel messages on the console use setterm -msg off add it to the rc.local



© by Elmar Hanlhofer