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:
Scratch is a free programming language and online community where you can create your own interactive stories, games, and animations. Apr 03, 2019 In this series of three videos I demonstrate how to build Linux From Scratch 8.4. This is a live recording showing in real time (there are no cuts made from the recording) how it is possible to. Jul 13, 2017 Of course, it won't stop us from starting the installation through the live environment, and it should work in most cases. If, however, we are more interested in creating a Linux installation USB than a Linux Live USB and don't care about multiboot, UNetbootin or Rufus are better choices. How to create a Linux installation CD / DVD.
- Jul 03, 2018 Follow along with this step-by-step guide to build your own distribution from source and learn how it installs, loads and runs. When working with Linux, you easily can download any of the most common distributions to install and configure—be it Ubuntu, Debian, Fedora, OpenSUSE or something entirely different.
- Access scratch space in Unix. Many Unix systems set aside a directory that makes temporary storage space available for anyone who needs it. It is public, shared space that does not count against your quota; it may be frequently cleared, possibly daily, or whenever the.
- Scratch is a free programming language and online community where you can create your own interactive stories, games, and animations.
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
Windows remote access with TeamViewer enables location-independent and autonomous working.You can open individual files on your PC, run programs or initiate remote printing.Your desktop PC is always available, so you can react flexibly to enquiries and emergencies no matter where you are. TeamViewer Host is used for 24/7 access to remote computers, which makes it an ideal solution for uses such as remote monitoring, server maintenance, or connecting to a PC or Mac in the office or at home. Install TeamViewer Host on an unlimited number of computers and devices. As a licensed user, you have access to them all! Teamviewer mac download for remote desktop access and. Unattended access: TeamViewer Host. TeamViewer Host is used for 24/7 access to remote computers, which makes it an ideal solution for uses such as remote monitoring, server maintenance, or connecting to a PC or Mac in the office or at home. Install TeamViewer Host. Note: If you are seeing the entry TeamViewerDesktop in your list, make sure to check this box as well. Repeat the same for Full Disk Access and Screen Recording. Those are required to control your Mac. Click again on the padlock in the lower-left corner to prevent further changes. Free remote access software by TeamViewer connects global networks & devices. Discover the possibilities and limits of the free version. Free Remote Access Software Download Remote access software can be a cost-effective way of enjoying a secure connection between networks and devices. The tool itself is called Windows Remote Desktop.
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:
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:
Learn Linux From Scratch
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
Scratch Live Linux Download
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
Unmount all filesystems:
Linux From Scratch Book
# 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:
Scratch Live Download
# 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
Scratch Live Linux Online
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.