Update documentation

This commit is contained in:
Marcos Vallim 2019-06-26 19:13:38 -03:00
parent c090c722a8
commit 68d9233e01
1 changed files with 135 additions and 1 deletions

136
README.md
View File

@ -10,6 +10,8 @@ sudo apt-get install \
squashfs-tools \ squashfs-tools \
genisoimage \ genisoimage \
syslinux \ syslinux \
syslinux-utils \
imagemagick \
isolinux isolinux
``` ```
@ -258,7 +260,139 @@ sudo umount $HOME/live-ubuntu-from-scratch/chroot/run
``` ```
sudo cp /usr/lib/ISOLINUX/isolinux.bin image/isolinux/ sudo cp /usr/lib/ISOLINUX/isolinux.bin image/isolinux/
sudo cp /usr/lib/syslinux/modules/bios/ldlinux.c32 image/isolinux/ sudo cp /usr/lib/syslinux/modules/bios/{chain,gfxboot,ldlinux,libutil,libcom32,vesamenu}.c32 image/isolinux/
sudo cp chroot/boot/memtest86+.bin image/install/memtest sudo cp chroot/boot/memtest86+.bin image/install/memtest
``` ```
## Boot Instructions
1. Access build directory
```
cd $HOME/live-ubuntu-from-scratch
```
2. Create image/isolinux.txt
```
cat <<EOF > image/isolinux.txt
splash.rle
************************************************************************
This is an Ubuntu from scratch Live CD.
For the default live system, enter "live". To run memtest86+, enter "memtest"
************************************************************************
EOF
```
## Splash screen
1. Access build directory
```
cd $HOME/live-ubuntu-from-scratch
```
2. Create image 640x480 in png format (splash.png)
3. Convert png image to ppm (indexed 16 colors)
```
convert +dither -colors 16 splash.png splash.ppm
```
4. Convert ppm to rle
```
ppmtolss16 '#ffffff=7' < splash.ppm > splash.rle
```
5. Move image
```
sudo mv splash.rle image/
```
## Boot-loader configuration
1. Access build directory
```
cd $HOME/live-ubuntu-from-scratch
```
2. Create image/isolinux.cfg
```
cat <<EOF > image/isolinux.cfg
path
include menu.cfg
default vesamenu.c32
prompt 0
timeout 50
EOF
```
3. Create image/menu.cfg
```
cat <<EOF > image/menu.cfg
menu hshift 13
menu width 49
menu margin 8
menu title Installer boot menu
include txt.cfg
```
4. Create image/txt.cfg
```
cat <<EOF > image/txt.cfg
default live
label live
menu label ^Try Ubuntu from scratch without installing
kernel /casper/vmlinuz
append file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd quiet splash ---
label live-install
menu label ^Install Ubuntu from scratch
kernel /casper/vmlinuz
append file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity initrd=/casper/initrd quiet splash ---
label check
menu label ^Check disc for defects
kernel /casper/vmlinuz
append boot=casper integrity-check initrd=/casper/initrd quiet splash ---
label memtest
menu label Test ^memory
kernel /install/memtest
EOF
```
## Create manifest
1. Access build directory
```
cd $HOME/live-ubuntu-from-scratch
```
2. Generate manifest
```
sudo chroot chroot dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee image/casper/filesystem.manifest
sudo cp -v image/casper/filesystem.manifest image/casper/filesystem.manifest-desktop
REMOVE='ubiquity ubiquity-frontend-gtk ubiquity-frontend-kde casper lupin-casper live-initramfs user-setup discover1 xresprobe os-prober libdebian-installer4'
for i in $REMOVE
do
sudo sed -i "/${i}/d" image/casper/filesystem.manifest-desktop
done
```
## Compress the chroot
1. Access build directory
```
cd $HOME/live-ubuntu-from-scratch
```
2. Create squashfs
```
sudo mksquashfs chroot image/casper/filesystem.squashfs
```
3. Write the filesystem.size
```
printf $(sudo du -sx --block-size=1 chroot | cut -f1) > image/casper/filesystem.size
```