Table of Contents
Installing PLD Linux based on Rescue CD
TOC
Requirements
Download RescueCD from : Rescue CD. PLD rescue new is preferred.
Partition disk
Use for example cfdisk
to partition your destination disk. Usually root partition (/) and swap is enough.
There are many ways you can partition your disk. Simple example below:
- cfdisk /dev/sdX (assuming fresh disk visible in system as sdX)
- choose GPT partition table
- create 10MB BIOS Boot partition
- create 1GB EFI System partition
- create Linux partition (or more partitions) for PLD
Write something more here
Filesystem
Initiate swap space:
# mkswap /dev/sda1
Make filesystem (ex. ext4):
# mkfs.ext4 /dev/sda2
We need to create mountpoint and mount partition into it:
# mkdir /pld # mount /dev/sda2 /pld
If more partitions are going to be used (like you want to have separate /boot or /home) then these need to be mounted now, too.
Network configuration of RescueCD
RescueCD and installed PLD system will use the same way of configuring network.
By default both try to use DHCP to automatically configure network interface during a boot process. If that works for you you don't need to do anything.
If manual configuration is required then configure networking using files below.
eth0 interface configuration: /etc/sysconfig/interfaces/ifcfg-eth0
Assume you want 192.168.0.2 with /24 network (CIRD notation is preferred)
DEVICE=eth0 IPADDR=192.168.0.2/24 ONBOOT=yes BOOTPROTO=none
Default gateway and default gateway interface configuration: /etc/sysconfig/network
enable networking, ipv4 networking, set default gateway and interface which should be used to reach geteway:
NETWORKING=yes IPV4_NETWORKING=yes GATEWAY=192.168.0.254 GATEWAYDEV=eth0
DNS resolver IP addresses configuration: /etc/resolv.conf
Add default nameservers:
nameserver 1.1.1.1 nameserver 8.8.8.8
Reload network
# service network restart
Poldek's configuration
In file /etc/poldek/repos.d/pld.conf We need to set _arch = to chosen architecture ex.
_arch = x86_64
Packages installation
All packages are installed using poldek tool (it is a package manager for PLD).
# rpm --root /pld --initdb # poldek --root /pld poldek> install LIST OF PACKAGES REQUIRED FOR RUNNING SYSTEM
Packages which make sense to be installed:
udev pwdutils dhcpcd poldek vim geninitrd grub2 e2fsprogs tzdata glibc-localedb-all
If xfs filesystem was chosen then please install:
xfsprogs
Write something more here
Kernel installation
Prepare to install kernel
Before installing kernel you need to mount kernel proc, sys and dev filesystems inside of chroot:
# mount -o bind /proc /pld/proc # mount -o bind /sys /pld/sys # mount -o bind /dev /pld/dev
You need to tell initrd generator which hardware driver is needed to access your rootfs filesystem by setting scsi_hostadapter alias in /etc/modprobe,d/modprobe.conf (or any other file in that directory)
alias scsi_hostadapter ahci
lspci -k command run on rescuecd can help you to find a correct driver:
00:01.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01) Kernel driver in use: ata_piix Kernel modules: ata_piix, pata_acpi, ata_generic
Note Kernel driver in use: ata_piix (alias scsi_hostadapter ata_piix)
While at it, on actual installed PLD system (not needed on rescuecd), you can do the same for network card driver:
alias netdev-eth0 e1000e
(again lspci -k will help to choose correct one)
Configure /pld/etc/fstab ex.:
/dev/sda1 swap swap defaults 0 0 /dev/sda2 / ext4 defaults 0 0
Write something more here
Kernel installation
# poldek --root /pld -i kernel
or
#poldek --root /pld -i kernel-some-specific-version
You can also install multiple different kernels.
By default kernel installation also generates initrd based on mounted /proc, /sys, /dev files and configured fstab, modprobe.conf and few others configuration files. generated initrd (which by default is initramfs cpio image) is saved in /boot.
There are two initrd generators used in PLD: geninitrd and dracut. Choose one.
geninitrd
If something fails or you want to regenerate initrd manually you can do it using:
/sbin/geninitrd -v -f /boot/initd-XXX-Y.gz XXX-Y
command. Real example:
/sbin/geninitrd -v -f /boot/initd-4.20.3-1.gz 4.20.3-1
-v option causes geninitrd to write additional information, so you can see if proper kernel modules are being installed into initrd.
dracut
Write something more here
PLD supports systemd and non-systemd installations. In case of systemd installation you need to install package
systemd
package and setup default boot kernel cmdline option in grub/lilo. Add
init=/bin/systemd systemd.unit=graphical.target
If booting with new initrd fails you can use debuginitrd and debuginitrd=sh boot kernel cmdline options to debug the problem.
Bootloader
grub2
Install grub2 on boot sector of disk:
grub-install /dev/sda
Generate configuration file for grub2:
update-grub
Resulting file is saved as /boot/grub/grub.cfg. Setting custom options for grub2 can be done in /etc/sysconfig/grub (then regenerate grub.cfg with update-grub command).
lilo (deprecated)
Edit /pld/etc/lilo.conf
boot=/dev/sda read-only lba32 prompt timeout=100 image=/boot/vmlinuz label=pld root=/dev/sda2 initrd=/boot/initrd
And execute:
# chroot /pld /sbin/lilo
Advanced configuration
Advanced lilo and grub configuration is described here: ../Bootloader
udev
Write something more here
User accounts
By default root account doesn't have any password set and by default that will prevent you from logging in. Setup root password
chroot /pld && passwd
Write something more here
Finishing
If manual network configuration was required for RescueCD then most liikely you need to repeat that step on installed PLD system, too.
Last step is umount all filesystems:
umount -R /pld
and reboot:
reboot
.
If you find errors on this page or want to add anything to installation procedure please write to us at feedback / pld-linux.org.
Write something more here