Disk Imaging and Partitioning Utilities
Description
So what do you do when you do not have an optical drive for a computer or server and you would like to install Linux?
You have two options, use a USB device (CD-ROM, Hard Drive, or Thumb drive) or PXE booting and doing a full network install. This article will discuss the latter.
Requirements
The following application(s) must be installed, configured and running before tftp-hpa is installed:
- rsync
- isc-dhcp – ISC Dynamic Host Configuration Protocol server
- tftp-hpa – BSD derived TFTP Server
- PXE Boot Menu with submenus
Preparation for Installation
Start PuTTY on a Windows PC, Terminal on a Mac or similar terminal application on a Linux PC.
In this example Terminal on a Mac is used.
Open a remote SSH session to the server with:
Mac:~ user$ ssh user@192.168.1.4 [enter]
N.B.: Replace user@192.168.1.4 with User ID and IP Address on Your server!
[user@server ~]$
Enable superuser privileges with:
[user@server ~]$ sudo -s [enter]
Password: <-- passwd [enter]
[root@server /usr/home/user]#
N.B.: Enter user password, not the root password!
Installation
The server used in this example is configured to contain one partition called /tftpboot used for PXE related files.
Add the Disk Imaging and Partitioning Utility option to the PXE Boot Main Menu with:
[root@server /usr/home/user]# ee /tftpboot/pxelinux.cfg/default [enter]
…the add the following text, example:
...
MENU COLOR HOTKEY 0 #ff00ff00 #ee000000 std
MENU COLOR HOTSEL 0 #ffffffff #85000000 std
LABEL f1
MENU LABEL ^1) Disk Imaging and Partitioning Utilities
KERNEL vesamenu.c32
APPEND top.cfg f01.cfg bottom.cfg
LABEL blank
MENU LABEL
...
The PXE Boot Sub-Menu for Disk Imaging and Partitioning Utilities is defined in file /tftpboot/f01.cfg.
Create this file with:
[root@server /usr/home/user]# ee /tftpboot/f01.cfg [enter]
..and then add the following text, example:
MENU TITLE Disk Imaging and Partitioning Utilities
Change file modes
Change file modes for file /tftpboot/f01.cfg with:
[root@server ~]# chmod -R 755 /tftpboot/f01.cfg [enter]
[root@server /usr/home/user]#
Create a folder for Disk Imaging and Partitioning Utilities files with:
[root@server /usr/home/user]# mkdir /tftpboot/f01 [enter]
[root@server /usr/home/user]#
NFSv4 Server Setup
Service start on boot
List installed NFS services with:
[root@server /usr/home/user]# service -r | grep /nfs [enter]
/etc/rc.d/nfsclient
/etc/rc.d/nfsuserd
/etc/rc.d/nfsd
/etc/rc.d/nfscbd
[root@server /usr/home/user]#
Find the rcvar for /etc/rc.d/nfsclient with:
[root@server /usr/home/user]# /etc/rc.d/nfsclient rcvar [enter]
# nfsclient : NFS client setup
#
nfs_client_enable="NO"
# (default: "")
[root@server /usr/home/user]#
Find the rcvar for /etc/rc.d/nfsuserd with:
[root@server /usr/home/user]# /etc/rc.d/nfsuserd rcvar [enter]
# nfsuserd : Load user and group information into the kernel for NFSv4 services and support manage-gids for all NFS versions
#
nfsuserd_enable="NO"
# (default: "")
[root@server /usr/home/user]#
Find the rcvar for /etc/rc.d/nfsd with:
[root@server /usr/home/user]# /etc/rc.d/nfsd rcvar [enter]
# nfsd : Remote NFS server
#
nfs_server_enable="NO"
# (default: "")
[root@server /usr/home/user]#
Find the rcvar for /etc/rc.d/nfscbd with:
[root@server /usr/home/user]# /etc/rc.d/nfscbd rcvar [enter]
# nfscbd : NFSv4 client side callback daemon
#
nfscbd_enable="NO"
# (default: "")
[root@server /usr/home/user]#
N.B.: Since an NFSv4 mount uses the host uuid to identify the client uniquely to the server, you cannot safely do an NFSv4 mount when
it is set to hostid_enable=”NO”!
Add the following to /etc/rc.conf, assuming they’re not already there:
[root@server /usr/home/user]# echo '' >> /etc/rc.conf; echo '# NFS Server' >> /etc/rc.conf; echo 'rpcbind_enable="YES"' >> /etc/rc.conf; echo 'mountd_enable="YES"' >> /etc/rc.conf; echo 'nfs_server_enable="YES"' >> /etc/rc.conf; echo 'nfsv4_server_enable="YES"' >> /etc/rc.conf; echo 'nfsuserd_enable="YES"' >> /etc/rc.conf [enter]
Export Settings
Now we need to create an NFS export settings file /etc/exports with:
[root@server /usr/home/user]# ee /etc/exports [enter]
…and the add the following text:
V4: /
/tmp \
-maproot=root -network 192.168.1.0 -mask 255.255.255.0
This example assumes your network is 192.168.1.0/24; if it’s something else, you’ll need to make appropriate changes.
Now start all of the above services:
[root@server /usr/home/user]# service rpcbind start [enter]
Starting rpcbind.
[root@server /usr/home/user]#
[root@server /usr/home/user]# service mountd start [enter]
Starting mountd.
[root@server /usr/home/user]#
[root@server /usr/home/user]# service nfsd start [enter]
Starting nfsd.
[root@server /usr/home/user]#
Verify that the NFS mount is being exported with:
[root@server /usr/home/user]# showmount -e [enter]
Exports list on localhost:
/tmp 192.168.1.0
[root@server /usr/home/user]#
After you have performed an update of file /etc/exports, re-read the exports settings with:
[root@server /usr/home/user]# service mountd reload [enter]
[root@server /usr/home/user]#
If your NFS exported directories will not be accessed locally (and Samba counts as local access), then you can enable NFSv4 delegations to improve performance. On a FreeBSD NFS server, they may be enabled globally for all exports by adding the following line to /etc/sysctl.conf with:
[root@server /usr/home/user]# echo 'vfs.nfsd.issue_delegations=1' >> /etc/sysctl.conf [enter]
[root@server /usr/home/user]#
packet filter (pf)
Access to the tftpd service must be enabled in the packet filter (pf) configuration file.
Start editing file /etc/pf.conf with:
[root@server /usr/home/user]# ee /etc/pf.conf [enter]
…and add port information to enable access to the NFS service from clients on the local network as in this example:
...
# Ports:
...
# 111 TCP UDP Open Network Computing Remote Procedure Call (ONC RPC, sometimes referred to as Sun RPC)
...
# 2049 TCP UDP Network File System (NFS)
...
tcp_pass="{ ... 111, ... 2049, ... }"
udp_pass="{ ... 111, ... 2049, ... }"
...
Check /etc/pf.conf for errors, but do not load ruleset with:
[root@server /usr/home/user]# pfctl -vvnf /etc/pf.conf [enter]
…and then reload /etc/pf.conf with:
[root@server /usr/home/user]# service pf reload [enter]
Reloading pf rules.
[root@server /usr/home/user]#
GParted Live
GNOME Partition Editor for creating, reorganizing, and deleting disk partitions. It uses libparted from the parted project to detect and manipulate partition tables. Optional file system tools permit managing file systems not included in libparted.
GParted Live is a small bootable GNU/Linux distribution for x86 based computers.
It enables you to use all the features of the latest versions of the GParted application.
WWW: http://gparted.sourceforge.net/livecd.php/.
Files: https://sourceforge.net/projects/gparted/files/.
Requirements
GParted is a free partition manager that enables you to resize, copy, and move partitions without data loss.
amd64
The 64-bit version of GParted runs on x86-64 based computers, with the ability to access more than 4 gigabytes of memory, and supports the use of multiple processor cores.
For newer (>2010) computers with UEFI instead of legacy BIOS try this one.
Download gparted-live-0.28.1-1-amd64.zip, 271 MB, with:
[root@server /usr/home/user]# wget https://sourceforge.net/projects/gparted/files/gparted-live-stable/0.28.1-1/gparted-live-0.28.1-1-amd64.zip [enter]
Create direcory /tftpboot/f01/gparted with:
[root@server /usr/home/user]# mkdir -p /tftpboot/f01/gparted [enter]
[root@server /usr/home/user]#
Extract zip file gparted-live-0.28.1-1-amd64.zip into directory /tftpboot/f01/gparted/i686/ with:
[root@server /usr/home/user]# unzip gparted-live-0.28.1-1-amd64.zip live/* -d /tftpboot/f01/gparted/amd64 [enter]
Archive: gparted-live-0.28.1-1-amd64.zip
extracting: /tftpboot/f01/gparted/amd64/live/memtest
extracting: /tftpboot/f01/gparted/amd64/live/GParted-Live-Version
extracting: /tftpboot/f01/gparted/amd64/live/initrd.img
extracting: /tftpboot/f01/gparted/amd64/live/filesystem.packages-remove
extracting: /tftpboot/f01/gparted/amd64/live/filesystem.packages
extracting: /tftpboot/f01/gparted/amd64/live/vmlinuz
extracting: /tftpboot/f01/gparted/amd64/live/filesystem.squashfs
[root@server /usr/home/user]#
Delete downloaded zip files with:
[root@server /usr/home/user]# rm gparted-live-0.28.1-1-amd64.zip [enter]
[root@server /usr/home/user]#
The TFTP root directory permission plays an important role. Make sure that the permission and ownership are set correctly with:
[root@server /usr/home/user]# chown -R tftpd:nobody /tftpboot/f01/gparted [enter]
[root@server /usr/home/user]# chmod -R 755 /tftpboot/f01/gparted/amd64/live [enter]
[root@server /usr/home/user]#
Edit file /tftpboot/f01.cfg with:
[root@server /usr/home/user]# ee /tftpboot/f01.cfg [enter]
…and add the following lines:
LABEL f1
MENU LABEL ^1) GParted Live v. 0.28.1-1-amd64
MENU PASSWD
TEXT HELP
GParted is used for creating, reorganizing and deleting disk partitions.
The amd64 version runs on x86-64 based computers, with ability to access
more than 4 gigabytes of memory and supports use of multiple processor cores.
For newer (>2010) computers with UEFI instead of legacy BIOS
ENDTEXT
KERNEL f01/gparted/amd64/live/vmlinuz
APPEND initrd=f01/gparted/amd64/live/initrd.img boot=live union=overlay username=tftpd config components quiet noswap edd=on nomodeset nodmraid noeject locales="en_US.UTF-8" keyboard-layouts="se" ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no vga=791 ip= net.ifnames=0 nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 netboot=nfs nfsroot=$nfsserverIP:/tftpboot/f01/gparted/amd64/
N.B.: Replace $nfsserverIP with the IP address of your NFS server!
NFS Export Update
Edit file /etc/exports with:
[root@server /usr/home/user]# ee /etc/exports [enter]
…and add the following text:
V4: /
/tftpboot/f01/gparted/amd64 \
-maproot=root -network 192.168.1.0 -mask 255.255.255.0
Reload the NFS mount setup with:
[root@server /usr/home/user]# service mountd reload [enter]
[root@server /usr/home/user]#
Display the NFS mount setup with:
[root@server /usr/home/user]# showmount -e [enter]
Exports list on localhost:
/tftpboot/f01/gparted/amd64 192.168.1.0
[root@server /usr/home/user]#
i686 PAE (Physical Address Extension)
The 32-bit version of Gparted runs on x86 (i686 and higher) and x86-64 based computers, with Physical Address Extension to access more than 4 gigabytes of memory, and supports the use of multiple processor cores.
Download 0.28.1-1-i686-pae, 273 MB, with:
[root@server /usr/home/user]# wget https://sourceforge.net/projects/gparted/files/gparted-live-stable/0.28.1-1/gparted-live-0.28.1-1-i686-pae.zip [enter]
Extract zip file ~/gparted-live-0.28.1-1-i686-pae.zip into directory /tftpboot/f01/gparted/i686-pae/ with:
[root@server /usr/home/user]# unzip gparted-live-0.28.1-1-i686-pae.zip live/* -d /tftpboot/f01/gparted/i686-pae [enter]
Archive: gparted-live-0.28.1-1-i686-pae.zip
extracting: /tftpboot/f01/gparted/i686-pae/live/memtest
extracting: /tftpboot/f01/gparted/i686-pae/live/GParted-Live-Version
extracting: /tftpboot/f01/gparted/i686-pae/live/initrd.img
extracting: /tftpboot/f01/gparted/i686-pae/live/filesystem.packages-remove
extracting: /tftpboot/f01/gparted/i686-pae/live/filesystem.packages
extracting: /tftpboot/f01/gparted/i686-pae/live/vmlinuz
extracting: /tftpboot/f01/gparted/i686-pae/live/filesystem.squashfs
[root@server /usr/home/user]#
Delete downloaded zip files with:
[root@server /usr/home/user]# rm gparted-live-0.28.1-1-i686-pae.zip [enter]
[root@server /usr/home/user]#
The TFTP root directory permission plays an important role. Make sure that the permission and ownership are set correctly with:
[root@server /usr/home/user]# chown -R tftpd:nobody /tftpboot/f01/gparted [enter]
[root@server /usr/home/user]# chmod -R 755 /tftpboot/f01/gparted/i686-pae/live [enter]
[root@server /usr/home/user]#
Edit file /tftpboot/f01.cfg with:
[root@server /usr/home/user]# ee /tftpboot/f01.cfg [enter]
…and add the following lines:
LABEL f2
MENU LABEL ^2) GParted Live v. 0.28.1-1-i686-pae (Physical Address Extension)
MENU PASSWD
TEXT HELP
GParted is used for creating, reorganizing and deleting disk partitions.
The i686-pae version runs on x86 (i686 and higher) and x86-64 based computers, with
Physical Address Extension to access more than 4 gigabytes of memory, and supports
use of multiple processor cores.
ENDTEXT
KERNEL f01/gparted/i686-pae/live/vmlinuz
APPEND initrd=f01/gparted/i686-pae/live/initrd.img boot=live union=overlay username=tftpd config components quiet noswap edd=on nomodeset nodmraid noeject locales="en_US.UTF-8" keyboard-layouts="se" ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no vga=788 ip= net.ifnames=0 nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 netboot=nfs nfsroot=$nfsserverIP:/tftpboot/f01/gparted/i686-pae/
N.B.: Replace $nfsserverIP with the IP address of your NFS server!
NFS Export Update
Edit file /etc/exports with:
[root@server /usr/home/user]# ee /etc/exports [enter]
…and add the following text:
V4: /
/tftpboot/f01/gparted/amd64 \
/tftpboot/f01/gparted/i686-pae \
-maproot=root -network 192.168.1.0 -mask 255.255.255.0
Reload the NFS mount setup with:
[root@server /usr/home/user]# service mountd reload [enter]
[root@server /usr/home/user]#
Display the NFS mount setup with:
[root@server /usr/home/user]# showmount -e [enter]
Exports list on localhost:
/tftpboot/f01/gparted/i686-pae 192.168.1.0
/tftpboot/f01/gparted/amd64 192.168.1.0
[root@server /usr/home/user]#
i686
32-bit version of GParted runs on x86 and x86-64 based computers, limited to physical address space of 4 gigabytes, and uses one processor only.
If in doubt, try this one first!
Download gparted-live-0.28.1-1-i686.zip, 272 MB, with:
[root@server /usr/home/user]# wget https://sourceforge.net/projects/gparted/files/gparted-live-stable/0.28.1-1/gparted-live-0.28.1-1-i686.zip [enter]
Extract zip file ~/gparted-live-0.28.1-1-i686.zip into directory /tftpboot/f01/gparted/i686/ with:
[root@server /usr/home/user]# unzip gparted-live-0.28.1-1-i686.zip live/* -d /tftpboot/f01/gparted/i686 [enter]
Archive: gparted-live-0.28.1-1-i686.zip
extracting: /tftpboot/f01/gparted/i686/live/memtest
extracting: /tftpboot/f01/gparted/i686/live/GParted-Live-Version
extracting: /tftpboot/f01/gparted/i686/live/initrd.img
extracting: /tftpboot/f01/gparted/i686/live/filesystem.packages-remove
extracting: /tftpboot/f01/gparted/i686/live/filesystem.packages
extracting: /tftpboot/f01/gparted/i686/live/vmlinuz
extracting: /tftpboot/f01/gparted/i686/live/filesystem.squashfs
[root@server /usr/home/user]#
Delete downloaded zip files with:
[root@server /usr/home/user]# rm gparted-live-0.28.1-1-i686.zip [enter]
[root@server /usr/home/user]#
The TFTP root directory permission plays an important role. Make sure that the permission and ownership are set correctly with:
[root@server /usr/home/user]# chown -R tftpd:nobody /tftpboot/f01/gparted [enter]
[root@server /usr/home/user]# chmod -R 755 /tftpboot/f01/gparted/i686/live [enter]
[root@server /usr/home/user]#
Edit file /tftpboot/f01.cfg with:
[root@server /usr/home/user]# ee /tftpboot/f01.cfg [enter]
…and add the following lines:
LABEL f3
MENU LABEL ^3) GParted Live v. 0.28.1-1-i686
MENU PASSWD
TEXT HELP
GParted is used for creating, reorganizing and deleting disk partitions.
The i686 version runs on x86 and x86-64 based computers, limited to physical
address space of 4 gigabytes, and uses one processor only.
-- If in doubt, try this one first! --
ENDTEXT
KERNEL f01/gparted/i686/live/vmlinuz
APPEND initrd=f01/gparted/i686/live/initrd.img boot=live union=overlay username=tftpd config components quiet noswap edd=on nomodeset nodmraid noeject locales="en_US.UTF-8" keyboard-layouts="se" ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no vga=788 ip= net.ifnames=0 nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 netboot=nfs nfsroot=$nfsserverIP:/tftpboot/f01/gparted/i686/
N.B.: Replace $nfsserverIP with the IP address of your NFS server!
NFS Export Update
Edit file /etc/exports with:
[root@server /usr/home/user]# ee /etc/exports [enter]
…and add the following text:
V4: /
/tftpboot/f01/gparted/amd64 \
/tftpboot/f01/gparted/i686-pae \
/tftpboot/f01/gparted/i686 \
-maproot=root -network 192.168.1.0 -mask 255.255.255.0
Reload the NFS mount setup with:
[root@server /usr/home/user]# service mountd reload [enter]
[root@server /usr/home/user]#
Display the NFS mount setup with:
[root@server /usr/home/user]# showmount -e [enter]
Exports list on localhost:
/tftpboot/f01/gparted/i686-pae 192.168.1.0
/tftpboot/f01/gparted/i686 192.168.1.0
/tftpboot/f01/gparted/amd64 192.168.1.0
[root@server /usr/home/user]#
Clonezilla Live
You’re probably familiar with the popular proprietary commercial package Norton Ghost®. The problem with this kind of software packages is that it takes a lot of time to massively clone systems to many computers. You’ve probably also heard of Symantec’s solution to this problem, Symantec Ghost Corporate Edition® with multicasting. Well, now there is an OpenSource clone system (OCS) solution called Clonezilla with unicasting and multicasting!
Clonezilla, based on DRBL, Partclone and udpcast, allows you to do bare metal backup and recovery. Two types of Clonezilla are available, Clonezilla live and Clonezilla SE (server edition). Clonezilla live is suitable for single machine backup and restore. While Clonezilla SE is for massive deployment, it can clone many (40 plus!) computers simultaneously. Clonezilla saves and restores only used blocks in the harddisk. This increases the cloning efficiency. At the NCHC’s Classroom C, Clonezilla SE was used to clone 41 computers simultaneously. It took only about 10 minutes to clone a 5.6 GBytes system image to all 41 computers via multicasting!
WWW: http://clonezilla.org/.
Files: https://sourceforge.net/projects/clonezilla/files/.
amd64
Download Clonezilla Live Stable amd64, 187 MB, optimized for use on PCs with amd64 CPU computers with:
[root@server /usr/home/user]# wget https://sourceforge.net/projects/clonezilla/files/clonezilla_live_stable/2.5.0-25/clonezilla-live-2.5.0-25-amd64.zip [enter]
Create direcory /tftpboot/f01/clonezilla/amd64 with:
[root@server /usr/home/user]# mkdir -p /tftpboot/f01/clonezilla/amd64 [enter]
[root@server /usr/home/user]#
Extract zip file clonezilla-live-2.5.0-25-amd64.zip to /tftpboot/f01/clonezilla/amd64 with:
[root@srvgw ~]# unzip clonezilla-live-2.5.0-25-amd64.zip live/* -d /tftpboot/f01/clonezilla/amd64 [enter]
Archive: /clonezilla-live-2.5.0-25-amd64.zip
extracting: /tftpboot/f01/clonezilla/amd64/live/ipxe.efi
extracting: /tftpboot/f01/clonezilla/amd64/live/filesystem.packages-remove
extracting: /tftpboot/f01/clonezilla/amd64/live/vmlinuz
extracting: /tftpboot/f01/clonezilla/amd64/live/ipxe.lkn
extracting: /tftpboot/f01/clonezilla/amd64/live/initrd.img
extracting: /tftpboot/f01/clonezilla/amd64/live/freedos.img
extracting: /tftpboot/f01/clonezilla/amd64/live/filesystem.packages
extracting: /tftpboot/f01/clonezilla/amd64/live/memtest
extracting: /tftpboot/f01/clonezilla/amd64/live/Clonezilla-Live-Version
extracting: /tftpboot/f01/clonezilla/amd64/live/filesystem.squashfs
[root@server /usr/home/user]#
Delete downloaded .zip file with;
[root@server /usr/home/user]# rm clonezilla-live-2.5.0-25-amd64.zip [enter]
[root@server /usr/home/user]#
The TFTP root directory permission plays an important role. Make sure that the permission and ownership are set correctly with:
[root@server /usr/home/user]# chown -R tftpd:nobody /tftpboot/f01/clonezilla/amd64/live [enter]
[root@server /usr/home/user]# chmod -R 755 /tftpboot/f01/clonezilla/amd64/live [enter]
[root@server /usr/home/user]#
PXE Boot Sub-Menu
Edit file /tftpboot/f01.cfg with:
[root@server /usr/home/user]# ee /tftpboot/f01.cfg
..and add the following text, example:
LABEL f4
MENU LABEL ^4) CloneZilla v. 2.5.0-25 amd64
MENU PASSWD
TEXT HELP
Cloning of PC hard disks for backup or deploy a common setup on a number
of PCs using a Server.
The amd64 version runs on x86-64 based computers, with ability to access more
than 4 gigabytes of memory and supports use of multiple processor cores.
ENDTEXT
KERNEL f01/clonezilla/amd64/live/vmlinuz
APPEND initrd=f01/clonezilla/amd64/live/initrd.img boot=live toram union=overlay username=tftpd config components quiet noswap edd=on nomodeset nodmraid noeject locales="en_US.UTF-8" keyboard-layouts="se" ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no vga=791 ip= net.ifnames=0 nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 netboot=nfs nfsroot=$nfsserverIP:/tftpboot/f01/clonezilla/amd64/
N.B.: Replace $nfsserverIP with the IP address of your NFS server!
NFS Export Update
Edit file /etc/exports with:
[root@server /usr/home/user]# ee /etc/exports [enter]
…and add the following text:
V4: /
...
/tftpboot/f01/clonezilla/amd64 \
-maproot=root -network 192.168.1.0 -mask 255.255.255.0
Reload the NFS mount setup with:
[root@server /usr/home/user]# service mountd reload [enter]
[root@server /usr/home/user]#
Display the NFS mount setup with:
[root@server /usr/home/user]# showmount -e [enter]
Exports list on localhost:
...
/tftpboot/f01/clonezilla/amd64 192.168.1.0
[root@server /usr/home/user]#
i686-PAE (Physical Address Extension)
Download Clonezilla Live Stable i686-pae, 188 MB, optimized for use on PCs with i686 CPU computers with:
[root@server /usr/home/user]# wget https://sourceforge.net/projects/clonezilla/files/clonezilla_live_stable/2.5.0-25/clonezilla-live-2.5.0-25-i686-pae.zip [enter]
Create directory /tftpboot/f01/clonezilla/i686-pae with:
[root@server /usr/home/user]# mkdir -p /tftpboot/f01/clonezilla/i686-pae [enter]
[root@server /usr/home/user]#
Extract zip file clonezilla-live-2.5.0-25-i686-pae.zip to /tftpboot/f01/clonezilla/i686-pae with:
[root@srvgw ~]# unzip clonezilla-live-2.5.0-25-i686-pae.zip live/* -d /tftpboot/f01/clonezilla/i686-pae [enter]
Archive: /clonezilla-live-2.5.0-25-i686-pae.zip
extracting: /tftpboot/f01/clonezilla/i686-pae/live/ipxe.efi
extracting: /tftpboot/f01/clonezilla/i686-pae/live/filesystem.packages-remov |
extracting: /tftpboot/f01/clonezilla/i686-pae/live/vmlinuz
extracting: /tftpboot/f01/clonezilla/i686-pae/live/ipxe.lkn
extracting: /tftpboot/f01/clonezilla/i686-pae/live/initrd.img
extracting: /tftpboot/f01/clonezilla/i686-pae/live/freedos.img
extracting: /tftpboot/f01/clonezilla/i686-pae/live/filesystem.packages
extracting: /tftpboot/f01/clonezilla/i686-pae/live/memtest
extracting: /tftpboot/f01/clonezilla/i686-pae/live/Clonezilla-Live-Version
extracting: /tftpboot/f01/clonezilla/i686-pae/live/filesystem.squashfs
[root@server /usr/home/user]#
Delete downloaded .zip file with;
[root@server /usr/home/user]# rm clonezilla-live-2.5.0-25-i686-pae.zip [enter]
[root@server /usr/home/user]#
The TFTP root directory permission plays an important role. Make sure that the permission and ownership are set correctly with:
[root@server /usr/home/user]# chown -R tftpd:nobody /tftpboot/f01/clonezillai686-pae/live [enter]
[root@server /usr/home/user]# chmod -R 755 /tftpboot/f01/clonezilla/i686-pae/live [enter]
[root@server /usr/home/user]#
PXE Boot Sub-Menu
Edit file /tftpboot/f01.cfg with:
[root@server /usr/home/user]# ee /tftpboot/f01.cfg [enter]
..and add the following text, example:
LABEL f5
MENU LABEL ^5) CloneZilla v. 2.5.0-25 i686-pae (Physical Address Extension)
MENU PASSWD
TEXT HELP
Cloning of PC hard disks for backup or deploy a common setup on a number
of PCs using a Server.
The i686-pae version runs on x86 (i686 and higher) and x86-64 based computers, with
Physical Address Extension to access more than 4 gigabytes of memory, and supports
use of multiple processor cores.
ENDTEXT
KERNEL f01/clonezilla/i686-pae/live/vmlinuz
APPEND initrd=f01/clonezilla/i686-pae/live/initrd.img boot=live union=overlay username=tftpd config components quiet noswap edd=on nomodeset nodmraid noeject locales="en_US.UTF-8" keyboard-layouts="se" ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no vga=791 ip= net.ifnames=0 nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 netboot=nfs nfsroot=$nfsserverIP:/tftpboot/f01/clonezilla/i686-pae/
N.B.: Replace $nfsserverIP with the IP address of your NFS server!
NFS Export Update
Edit file /etc/exports with:
[root@server /usr/home/user]# ee /etc/exports [enter]
…and add the following text:
V4: /
...
/tftpboot/f01/clonezilla/amd64 \
/tftpboot/f01/clonezilla/i686-pae \
-maproot=root -network 192.168.1.0 -mask 255.255.255.0
Reload the NFS mount setup with:
[root@server /usr/home/user]# service mountd reload [enter]
[root@server /usr/home/user]#
Display the NFS mount setup with:
[root@server /usr/home/user]# showmount -e [enter]
Exports list on localhost:
...
/tftpboot/f01/clonezilla/i686-pae 192.168.1.0
/tftpboot/f01/clonezilla/amd64 192.168.1.0
[root@server /usr/home/user]#
i686
Download Clonezilla Live Stable i686, 188 MB, optimized for use on PCs with i686 CPU computers with:
[root@server /usr/home/user]# wget https://sourceforge.net/projects/clonezilla/files/clonezilla_live_stable/2.5.0-25/clonezilla-live-2.5.0-25-i686.zip [enter]
Create directory /tftpboot/f01/clonezilla/i686 with:
[root@server /usr/home/user]# mkdir -p /tftpboot/f01/clonezilla/i686 [enter]
[root@server /usr/home/user]#
Extract zip file clonezilla-live-2.5.0-25-i686.zip to /tftpboot/f01/clonezilla/i686 with:
[root@srvgw ~]# unzip clonezilla-live-2.5.0-25-i686.zip live/* -d /tftpboot/f01/clonezilla/i686 [enter]
Archive: /clonezilla-live-2.5.0-25-i686.zip
extracting: /tftpboot/f01/clonezilla/i686/live/ipxe.efi
extracting: /tftpboot/f01/clonezilla/i686/live/filesystem.packages-remove
extracting: /tftpboot/f01/clonezilla/i686/live/vmlinuz
extracting: /tftpboot/f01/clonezilla/i686/live/ipxe.lkn
extracting: /tftpboot/f01/clonezilla/i686/live/initrd.img
extracting: /tftpboot/f01/clonezilla/i686/live/freedos.img
extracting: /tftpboot/f01/clonezilla/i686/live/filesystem.packages
extracting: /tftpboot/f01/clonezilla/i686/live/memtest
extracting: /tftpboot/f01/clonezilla/i686/live/Clonezilla-Live-Version
extracting: /tftpboot/f01/clonezilla/i686/live/filesystem.squashfs
[root@server /usr/home/user]#
Delete downloaded .zip file with;
[root@server /usr/home/user]# rm clonezilla-live-2.5.0-25-i686.zip [enter]
[root@server /usr/home/user]#
The TFTP root directory permission plays an important role. Make sure that the permission and ownership are set correctly with:
[root@server /usr/home/user]# chown -R tftpd:nobody /tftpboot/f01/clonezilla/i686/live [enter]
[root@server /usr/home/user]# chmod -R 755 /tftpboot/f01/clonezilla/i686/live [enter]
[root@server /usr/home/user]#
PXE Boot Sub-Menu
Edit file /tftpboot/f01.cfg with:
[root@server /usr/home/user]# ee /tftpboot/f01.cfg [enter]
..and add the following text, example:
LABEL f6
MENU LABEL ^6) CloneZilla v. 2.5.0-25 i686
MENU PASSWD
TEXT HELP
Cloning of PC hard disks for backup or deploy a common setup on a number
of PCs using a Server.
The i686 version runs on x86 and x86-64 based computers, limited to physical
address space of 4 gigabytes, and uses one processor only.
-- If in doubt, try this one first! --
ENDTEXT
KERNEL f01/clonezilla/i686/live/vmlinuz
APPEND initrd=f01/clonezilla/i686/live/initrd.img boot=live union=overlay username=tftpd config components quiet noswap edd=on nomodeset nodmraid noeject locales="en_US.UTF-8" keyboard-layouts="se" ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no vga=791 ip= net.ifnames=0 nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 netboot=nfs nfsroot=$nfsserverIP:/tftpboot/f01/clonezilla/i686/
N.B.: Replace $nfsserverIP with the IP address of your NFS server!
NFS Export Update
Edit file /etc/exports with:
[root@server /usr/home/user]# ee /etc/exports [enter]
…and add the following text:
V4: /
...
/tftpboot/f01/clonezilla/amd64 \
/tftpboot/f01/clonezilla/i686-pae \
/tftpboot/f01/clonezilla/i686 \
-maproot=root -network 192.168.1.0 -mask 255.255.255.0
Reload the NFS mount setup with:
[root@server /usr/home/user]# service mountd reload [enter]
[root@server /usr/home/user]#
Display the NFS mount setup with:
[root@server /usr/home/user]# showmount -e [enter]
Exports list on localhost:
...
/tftpboot/f01/clonezilla/i686-pae 192.168.1.0
/tftpboot/f01/clonezilla/i686 192.168.1.0
/tftpboot/f01/clonezilla/amd64 192.168.1.0
[root@server /usr/home/user]#
G4L
G4L is a hard disk and partition imaging and cloning tool. The created images are optionally compressed and transferred to an FTP server or cloned locally. CIFS(Windows), SSHFS and NFS support included, and udpcast and fsarchiver options.
WWW: https://sourceforge.net/projects/g4l/.
Download
Download ISO CD-ROM Image g4l-v0.52.iso, 99 MB, with:
[root@server /usr/home/user]# wget https://sourceforge.net/projects/g4l/files/g4l%20ISO%20images/g4l-v0.52.iso -P /tftpboot/f01/ [enter]
Change file mode with:
[root@server /usr/home/user]# chmod 755 /tftpboot/f01/g4l-v0.52.iso [enter]
[root@server /usr/home/user]#
PXE Boot Sub-Menu
The PXE Boot Sub-Menu for PXE Boot for G4L is defined in file /tftpboot/f01.cfg.
Edit this file with:
[root@server /usr/home/user]# ee /tftpboot/f01.cfg [enter]
..and add the following text, example:
LABEL f7
MENU LABEL ^7) G4L v. 0.52
TEXT HELP
G4L is a hard disk and partition imaging and cloning tool.
The created images are optionally compressed and transferred
to an FTP server or cloned locally.
ENDTEXT
KERNEL memdisk
APPEND initrd=f01/g4l-v0.52.iso iso raw
G4U (“ghosting for unix”)
G4U is a hard disk and partition imaging and cloning tool. The created images are optionally compressed and transferred to an FTP server or cloned locally. CIFS(Windows), SSHFS and NFS support included, and udpcast and fsarchiver options.
WWW: http://fehu.org/~feyrer/g4u/.
Download
Download ISO CD-ROM Image g4u-2.5.iso, 4.9 MB, with:
[root@server /usr/home/user]# wget http://fehu.org/~feyrer/g4u/g4u-2.5.iso -P /tftpboot/f01/ [enter]
[root@server /usr/home/user]# chmod 755 /tftpboot/f01/g4u-2.5.iso [enter]
[root@server /usr/home/user]#
PXE Boot Sub-Menu
The PXE Boot Sub-Menu for PXE Boot for G4U is defined in file /tftpboot/f01.cfg.
Edit this file with:
[root@server /usr/home/user]# ee /tftpboot/f01.cfg [enter]
..and add the following text, example:
LABEL f8
MENU LABEL ^8) G4U v. 2.5
TEXT HELP
G4U is a NetBSD-based bootfloppy/CD-ROM that allows easy cloning of
PC harddisks to deploy a common setup on a number of PCs using FTP.
ENDTEXT
KERNEL memdisk
APPEND initrd=f01/g4u-2.5.iso iso raw
SystemRescueCd 32bit and 64bit kernel
SystemRescueCd is a Linux system rescue disk available as a bootable CD-ROM or USB stick for administrating or repairing your system and data after a crash. It aims to provide an easy way to carry out admin tasks on your computer, such as creating and editing the hard disk partitions. It comes with a lot of Linux software such as system tools (parted, partimage, fstools, …) and basic tools (editors, midnight commander, network tools). It requires no installation. It can be used on Linux servers, Linux desktops or windows boxes. The kernel supports the important file systems (ext2/ext3/ext4, reiserfs, reiser4, btrfs, xfs, jfs, vfat, ntfs, iso9660), as well as network filesystems (samba and nfs).
WWW: http://www.sysresccd.org/.
Files: https://sourceforge.net/projects/systemrescuecd/files/.
Download and Install
Download systemrescuecd-x86-4.9.3.iso, 492 MB, with:
[root@server /usr/home/user]# wget https://sourceforge.net/projects/systemrescuecd/files/sysresccd-x86/4.9.3/systemrescuecd-x86-4.9.3.iso [enter]
Create a memory disk out of the cd9660 image file systemrescuecd-x86-4.9.3.iso, using the first available md(4) device, with:
[root@server /usr/home/user]# mdconfig -a -t vnode -f systemrescuecd-x86-4.9.0.iso [enter]
md0
[root@server /usr/home/user]#
…and then mount it with:
[root@server /usr/home/user]# mount -t cd9660 /dev/md0 /mnt [enter]
[root@server /usr/home/user]#
Create a new directory for the content of the iso image, using this command:
[root@server /usr/home/user]# mkdir -p /tftpboot/f01/rescuecd [enter]
[root@server /usr/home/user]#
Copy the content of the iso file to the new directories, using this commands:
[root@server /usr/home/user]# rsync -e ssh -avz --delete /mnt/ /tftpboot/f01/rescuecd/ [enter]
sending incremental file list
./
readme.txt
...
usb_inst/xorriso
sent 504,580,569 bytes received 6,810 bytes 32,554,024.45 bytes/sec
total size is 514,891,736 speedup is 1.02
[root@server /usr/home/user]#
Unmount the iso image, using this command:
[root@server /usr/home/user]# umount /mnt [enter]
[root@server /usr/home/user]#
List configured and enabled memory disks on your system, using this command:
[root@server /usr/home/user]# mdconfig -lv [enter]
md0 vnode 492M /usr/home/user/systemrescuecd-x86-4.9.3.iso
[root@server /usr/home/user]#
Delete memory disk – in this example md0– with this command:
[root@server /usr/home/user]# mdconfig -d -u 0 [enter]
[root@server /usr/home/user]#
Delete the SystemRescueCd iso image with:
[root@server /usr/home/user]# rm systemrescuecd-x86-4.9.3.iso [enter]
[root@server /usr/home/user]#
Edit file ‘/tftpboot/f01.cfg’ and add the following lines:
[root@server /usr/home/user]# ee /tftpboot/f01.cfg [enter]
LABEL f9
MENU LABEL ^9) SystemRescueCd 64bit kernel v. 4.9.3
MENU PASSWD
TEXT HELP
SystemRescueCd is a Linux system rescue disk available for administrating or
repairing your system and data after a crash.
ENDTEXT
KERNEL f01/rescuecd/isolinux/rescue64
APPEND setkmap=se initrd=f01/rescuecd/isolinux/initram.igz dodhcp dostartx netboot=nfs://$nfsserverIP:/tftpboot/f01/rescuecd
LABEL f0
MENU LABEL ^0) SystemRescueCd 32bit kernel v. 4.9.3
MENU PASSWD
TEXT HELP
SystemRescueCd is a Linux system rescue disk available for administrating or
repairing your system and data after a crash.
ENDTEXT
KERNEL f01/rescuecd/isolinux/rescue32
APPEND setkmap=se initrd=f01/rescuecd/isolinux/initram.igz dodhcp dostartx netboot=nfs://$nfsserverIP:/tftpboot/f01/rescuecd
LABEL f9
MENU LABEL ^9) Hardware Detection Tool v. 0.5.0
MENU PASSWD
TEXT HELP
Reports S.M.A.R.T. data, firmware errorlog, runs firmware tests, scans surface
reporting access times per sector and much more.
ENDTEXT
KERNEL memdisk
APPEND initrd=f01/rescuecd/bootdisk/hdt.img
N.B.: Replace $nfsserverIP with the IP address of your NFS server!
NFS Export Update
Edit file /etc/exports with:
[root@server /usr/home/user]# ee /etc/exports [enter]
…and add the following text:
V4: /
...
/tftpboot/f01/rescuecd \
-maproot=root -network 192.168.1.0 -mask 255.255.255.0
Reload the NFS mount setup with:
[root@server /usr/home/user]# service mountd reload [enter]
[root@server /usr/home/user]#
Display the NFS mount setup with:
[root@server /usr/home/user]# showmount -e [enter]
Exports list on localhost:
...
/tftpboot/f01/rescuecd 192.168.1.0
[root@server /usr/home/user]#