Create Linux Live Cd From Scratch

How to create a custom Ubuntu live from scratch. This procedure shows how to create a bootable and installable Ubuntu Live (along with the automatic hardware detection and configuration) from scratch. Prerequisites (GNU/Linux Debian/Ubuntu) Install applications we need to build the environment. Jul 18, 2019  Download LFS LiveCD for free. We provide Linux From Scratch LiveCD (unofficial) We are unofficially provider.All credit goes to linuxfromscratch.org. How can I create a LiveCD/LiveDVD/LiveUSB? Ask Question Asked 7 years, 8 months ago. Active 3 years, 5 months ago. Viewed 155k times 12. How can I create a Ubuntu LiveCD/LiveDVD/LiveUSB? Installation live-usb live-cd livedvd. Share improve. The image you can download from the Ubuntu website already is a live-CD waiting to be burned.

The following stable versions are supported and recommended for downloading:

x86 (contains official LFS-6.3 book): lfslivecd-x86-6.3-r2160.iso

x86_64 (contains unofficial LFS book): lfslivecd-x86_64-6.3-r2160.iso

The -nosrc ISO images do not contain source tarballs, but are otherwise identical to the full releases. The -min ISO images contain no source tarballs and no X window system.

Currently, there are no testing or unstable CDs that are supported.

Linux

FTP Mirrors

Corvallis, OR, USA: ftp://ftp.osuosl.org/pub/lfs-livecd/

Los Angeles, CA, USA: ftp://ftp.lfs-matrix.net/pub/lfs-livecd/

San Antonio, TX, USA: ftp://anduin.linuxfromscratch.org/LFS-LiveCD/

HTTP Mirrors

Corvallis, OR, USA: http://ftp.osuosl.org/pub/lfs-livecd/

Los Angeles, CA, USA: http://ftp.lfs-matrix.net/pub/lfs-livecd/

San Diego, CA, USA: http://kerrek.linuxfromscratch.org/pub/lfs-livecd/

Peer-2-peer Networks

P2P Networks are another good source for the LiveCD, depending on how many people have it available for download in their shared directory. If you have some bandwidth to spare, please consider adding the LiveCD to your shared directory. Here are our P2P Links:

  • BitTorrent: TLMP LiveCD Torrents

LiveCD Repository

The LFS LiveCD project has a subversion repository. At present, this contains cd documentation, specific configuration files for the cd and build scripts that are under development. The scripts will allow you to automate the entire process of building an official cd from scratch.

You can view the repository in the SVN browser: LiveCD Repository

Or, if you have subversion, check out the repository locally:

svn co svn://svn.linuxfromscratch.org/livecd/trunk lfs-livecd


If you need to create a Linux distribution, then this tutorial will clarify important issues while giving a fast view on the creation processes. This article focuses con Linux From Scratch and Ubuntu Live as ways to customize a Linux distribution. The steps and commands shown are not meant to be functional but to portray the difficulty level of each process. In the future each process will be explained on new updates at LinuxHint.

LFS (Linux From Scratch) is the most popular tool to create customized Linux distributions from source. Creating your own Linux distribution may include some advantages (and disadvantages too). Among advantages you will learn a lot on Linux by creating your own Linux distribution. You will know how Linux modules interact and how to customize the system.

The operating size is also an advantage depending on your hardware resources or the use you want to give the system. On their website LFS developers say the created a web server to work with Apache on 5 mb size. Together with Gentoo Linux, Linux From Scratch is the most flexible way to setup a Linux system. Building it is pretty simple and the process is described step by step, below I will only show the initial steps to portray an idea of the difficulty and a link to the official documentation showing from the building stage.

To get started with Linux From Scratch you need to create first a partition (minimum 3 GB due compilation process), it is also recommendable to create a swap partition or to share your existing one (for instructions on partitioning check Partitioning hard disks under Debian/Ubuntu and resizing partitions).

Once you created the partition create the $LFS variable by running:

Linux Live Cd Wine

You can check it by running:

Then mount the partition:

# mkdir -pv $LFS
# mount -v -t ext3 /dev/<sdX> $LFS

Note: replace <sdX> for your partition.

Then run for the swap partition:

You’ll need to download packages to a specific directory called LFS/sources, to create the directory run:

Make it writable and sticky:

Download and save within the directory all packages from http://www.linuxfromscratch.org/lfs/view/6.6/chapter03/packages.html

and

You can use the wget-list http://www.linuxfromscratch.org/lfs/view/6.6/wget-list

Create the tools directory and symbolic link by running:

Run the following commands to create the lfs user giving it rights on the tools and sources directories:

# groupadd lfs
# useradd -s /bin/bash -g lfs -m -k /dev/null lfs
# passwd lfs
# chown -v lfs $LFS/tools
# chown -v lfs $LFS/sources
# su - lfs

Log in as the lfs user and run:

Scratch

Then type:

# execenv-iHOME=$HOMETERM=$TERMPS1='u:w$ '/bin/bash

And run:

Create a new .bashrc by running:

And add:

# set +h
# umask 022
# LFS=/mnt/lfs
# LC_ALL=POSIX
# LFS_TGT=$(uname -m)-lfs-linux-gnu
# PATH=/tools/bin:/bin:/usr/bin
# export LFS LC_ALL LFS_TGT PATH
# EOF

Then run:

Then you can save the tools to start building your linux distribution following the steps at http://www.linuxfromscratch.org/lfs/view/6.6/chapter05/introduction.html

After finishing change the tools directory ownership by running:

The official documentation to build your distribution, prepare the kernel and base software can be found here. It is a sequence of steps you need to create a customized distribution. The steps are to prepare Virtual Kernel File Systems, Package Management, Entering the Chroot Environment, Creating Directories, Creating Essential Files and Symlinks, installing additional software listed hereStripping Again and Cleaning Up.

To start customizing the system visit the chapters:

  • Configuring the network Script
    Creating the /etc/fstab File

Finally install GRUB Using GRUB to Set Up the Boot Process and follow the steps before rebooting for first time

Ubuntu Live


Creating a customized Linux based on Ubuntu is pretty easy, it can be done very fast, it is extremely simple when compared with Linux From Scratch but it is not flexible at all, you’ll be able to add software, customize background and some details but basic customizations like the applications menu edition are not supported.

And add:

--arch=amd64
--variant=minbase
bionic
$HOME/live-ubuntu-from-scratch/chroot

Set mount points:

# sudo mount --bind /dev $HOME/live-ubuntu-from-scratch/chroot/dev
# sudo mount --bind /run $HOME/live-ubuntu-from-scratch/chroot/run
# sudo chroot $HOME/live-ubuntu-from-scratch/chroot
# mount none -t proc /proc
# mount none -t sysfs /sys
# mount none -t devpts /dev/pts
# export HOME=/root
# export LC_ALL=C
# echo 'ubuntu-fs-live' > /etc/hostname

Then you’ll need to update the repositories and run apt update and the following command:

# apt-get install -y systemd-sysv
# dbus-uuidgen > /etc/machine-id
# ln -fs /etc/machine-id /var/lib/dbus/machine-id
# dpkg-divert --local --rename --add /sbin/initctl
# ln -s /bin/true /sbin/initctl
# apt-get install -y ubuntu-standard casper lupin-casper discover laptop-detect os-prober network-manager resolvconf net-tools wireless-tools wpagui locales linux-generic

When prompting configuration screens like GRUB’s press ENTER to default choices to continue. Then run:

# apt-get install -y ubiquity ubiquity-casper ubiquity-frontend-gtk ubiquity-slideshow-ubuntu ubiquity-ubuntu-artwork

Install any X window manager you want:

# apt-get install -y plymouth-theme-ubuntu-logo ubuntu-gnome-desktop ubuntu-gnome-wallpapers

Add any additional software you want in your distribution and then run:

Select your locales and reconfigure the resolv.conf and network manager:

# dpkg-reconfigure locales
# dpkg-reconfigure resolv.conf
# dpkg-reconfigure network-manager

Then run:

# truncate -s 0 /etc/machine-id
# rm /sbin/initctl
# apt-get clean
# rm -rf /tmp/* ~/.bash_history
Create

Unmount all filesystems:

# umount /proc
# umount /sys
# umount /dev/pts
# export HISTSIZE=0exit
# sudo umount $HOME/live-ubuntu-from-scratch/chroot/dev
# sudo umount $HOME/live-ubuntu-from-scratch/chroot/run

Create directories and copy the kernel and binaries:

# cd $HOME/live-ubuntu-from-scratch
# mkdir -p image/{casper,isolinux,install}
# sudo cp chroot/boot/vmlinuz-**-**-generic image/casper/vmlinuz
# sudo cp chroot/boot/initrd.img-**-**-generic image/casper/initrd
# sudo cp chroot/boot/memtest86+.bin image/install/memtest86+
# wget --progress=dot https://www.memtest86.com/downloads/memtest86-usb.zip -O image/install/memtest86-usb.zipunzip -p image/install/memtest86-usb.zip memtest86-usb.img > image/install/memtest86rm image/install/memtest86-usb.zip

Setup GRUB

Run all following commands:

Build Linux From Scratch

# cd $HOME/live-ubuntu-from-scratch
# sudo mksquashfs chroot image/casper/filesystem.squashfs
# printf $(sudo du -sx --block-size=1 chroot | cut -f1) > image/casper/filesystem.size
# cd $HOME/live-ubuntu-from-scratch
# cd $HOME/live-ubuntu-from-scratch/image
# grub-mkstandalone --format=x86_64-efi --output=isolinux/bootx64.efi --locales=' --fonts=' 'boot/grub/grub.cfg=isolinux/grub.cfg'
# grub-mkstandalone --format=i386-pc --output=isolinux/core.img --install-modules='linux16 linux normal iso9660 biosdisk memdisk search tar ls' --modules='linux16 linux normal iso9660 biosdisk search' --locales=' --fonts=' 'boot/grub/grub.cfg=isolinux/grub.cfg'
# cat /usr/lib/grub/i386-pc/cdboot.img isolinux/core.img > isolinux/bios.img
# sudo /bin/bash -c '(find . -type f -print0 | xargs -0 md5sum | grep -v './md5sum.txt' > md5sum.txt)'
# sudo xorriso -as mkisofs -iso-level 3 -full-iso9660-filenames -volid '<YourDistroName>' -eltorito-boot boot/grub/bios.img -no-emul-boot -boot-load-size 4 -boot-info-table --eltorito-catalog boot/grub/boot.cat
--grub2-boot-info --grub2-mbr /usr/lib/grub/i386-pc/boot_hybrid.img -eltorito-alt-boot -e EFI/efiboot.img -no-emul-boot -append_partition 2 0xef isolinux/efiboot.img -output '../<yourdistronam>.iso' -graft-points '.' /boot/grub/bios.img=isolinux/bios.img /EFI/efiboot.img=isolinux/efiboot.img

As you can see the process with Ubuntu Live is a lot faster and easier, but it is not more than an Ubuntu distribution with light customizations in contrast to Linux From Scratch which is fully customizable. I hope you found this tutorial useful, keep following LinuxHint for additional tips and updates on Linux and networking.