Funtoo:New Install Experience/LiveCD page

From Funtoo
Jump to navigation Jump to search

This tutorial explains Howto build your own LiveCD Funtoo Linux using oficial stage3. After configure the new system using CHROOT, just burn the new ISO file, using the official Área31 Hackerspace tool.

The LiveCD Funtoo Linux, basically a system recovery disk, available as a bootable DVD or USB device to administer or repair your system after an accident. Your goal is to provide an easy way to perform administrative tasks on your computer, such as repairing, creating, and editing your hard disk partitions. It comes with a lot of Open Source software such as system tools (parted, partimage, photorec, foremost, dcfldd, ddrescue, hdparm, and others) and basic tools (editors, browsers, network tools). The LiveCD can be used for both Linux, Mac OS and Windows computers, as well as desktops or servers. This LiveCD does not require installation as it can be booted from a DVD drive or USB device. The kernel supports the most commonly used file systems (ext2 / ext3 / ext4, ReiserFS, Btrfs, XFS, JFS, VFAT, NTFS via ntfs-3g) as well as network file systems (Samba and NFS) encrypted (LUKS).


It is highly recommended to create a new separate partition on your system, to store the /mnt/custom directory data

Mount /mnt/custom directory (optional)ː

root # mkdir -p /mnt/custom ; mount /dev/sdb1 /mnt/custom

Emerge on your host funtoo system tools for cd mastering:

root # emerge cdrtools squashfs-tools isomaster libisoburn mtools

Get and extract stage3 (64bits) from ː

root # wget -P /mnt/custom
root # mkdir -p /mnt/custom/customcd/files ; tar xpf /mnt/custom/stage3-latest.tar.xz -C /mnt/custom/customcd/files

Create some directories to mount them as bind, to keep the livecd directory as clean as possible:

root # mkdir -p /mnt/custom/customcd/files/var/cache/portage /mnt/custom/portage-chroot
root # mkdir -p /mnt/custom/meta-repo /mnt/custom/customcd/files/var/git
root # mount -o bind /mnt/custom/portage-chroot /mnt/custom/customcd/files/var/cache/portage
root # mount -o bind /mnt/custom/meta-repo/ /mnt/custom/customcd/files/var/git
root # cd /mnt/custom/customcd/files/ ; mount -o bind /proc/ proc ; mount -o bind /sys sys ; mount -o rbind /dev dev


Configure network and use the chroot

root # cp /etc/resolv.conf /mnt/custom/customcd/files/etc/
root # chroot /mnt/custom/customcd/files/ /bin/bash

LiveCD configuration into CHROOT

Update portage tree

root #  ego sync

Update world

root # emerge -uDN @world

Configure useflags

root # echo '>=media-libs/gd-2.3.0 fontconfig truetype png jpeg' >> /etc/portage/package.use
root # echo 'sys-boot/grub **' >> /etc/portage/package.accept_keywords
root # echo 'sys-apps/openrc **' >> /etc/portage/package.accept_keywords
root # echo '=sys-apps/openrc-0.41.2-r4' >> /etc/portage/package.mask

Emerge essential ebuilds

root # emerge sys-kernel/linux-firmware app-misc/livecd-tools app-admin/testdisk app-arch/unrar app-arch/zip app-backup/fsarchiver app-editors/hexcurse app-editors/hexedit app-editors/joe app-editors/vim app-editors/zile app-misc/jq app-portage/genlop dev-libs/libxml2 net-analyzer/netcat net-analyzer/nmap net-analyzer/tcpdump net-dns/bind-tools net-misc/networkmanager net-misc/telnet-bsd sys-apps/fchroot sys-apps/haveged sys-apps/iucode_tool sys-block/parted sys-boot/grub sys-boot/syslinux sys-firmware/intel-microcode sys-fs/btrfs-progs sys-fs/cryptsetup sys-fs/ddrescue sys-fs/dfc sys-fs/f2fs-tools sys-fs/ntfs3g sys-fs/zfs sys-kernel/debian-sources sys-kernel/linux-firmware sys-process/htop www-client/elinks www-client/links www-client/w3m

Configure fstab

root # echo '# Funtoo LiveCD fstab' > /etc/fstab
root # echo 'tmpfs   /                                       tmpfs   defaults        0 0' >> /etc/fstab

Configure hostname

Edit /etc/conf.d/hostname and insert:


Configure livecd profile

Remove systemd:

root # epro mix-ins +no-systemd

Include essential services on boot

root # rc-update add NetworkManager sysinit
root # rc-update add autoconfig default
root # rc-update add haveged default
root # rc-update add sshd default
root # rc-update add fixinittab default