From d02526885d4c072bf08d5e9be5d58fa04e127db1 Mon Sep 17 00:00:00 2001 From: Marcos Vallim Date: Fri, 28 Jun 2019 09:54:09 -0300 Subject: [PATCH] Update documentation --- README.md | 219 ++++++++++++++++++++++------------------------- image/splash.png | Bin 46117 -> 0 bytes 2 files changed, 104 insertions(+), 115 deletions(-) delete mode 100644 image/splash.png diff --git a/README.md b/README.md index be0c2bf..946da27 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,10 @@ Install applications we need to build the environment. sudo apt-get install \ debootstrap \ squashfs-tools \ - genisoimage \ - syslinux \ - isolinux + xorriso \ + grub-pc-bin \ + grub-efi-amd64-bin \ + mtools ``` ``` @@ -87,6 +88,8 @@ sudo chroot $HOME/live-ubuntu-from-scratch/chroot dpkg-divert --local --rename --add /sbin/initctl ln -s /bin/true /sbin/initctl + + ln -fs /var/lib/dbus/machine-id /etc/machine-id ``` 6. **Install packages needed for Live System** @@ -286,109 +289,50 @@ sudo umount $HOME/live-ubuntu-from-scratch/chroot/run sudo cp chroot/boot/initrd.img-**-**-generic image/casper/initrd ``` -3. Copy isolinux and memtest binaries +3. Copy memtest binary ``` - sudo cp /usr/lib/ISOLINUX/isolinux.bin 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 ``` -## Boot Instructions - -1. **Splash screen** +## Grub configuration 1. Access build directory ``` cd $HOME/live-ubuntu-from-scratch ``` - 2. Create image 640x480 in png format (splash.png) - -

-
-

- - 3. Copy image + 2. Create image/isolinux/grub.cfg ``` - sudo cp splash.png image/isolinux/ + cat < image/isolinux/grub.cfg + + search --set=root --file /ubuntu + + insmod all_video + + set default="0" + set timeout=30 + + menuentry "Try Ubuntu without installing" { + linux /casper/vmlinuz boot=casper quiet splash --- + initrd /casper/initrd + } + + menuentry "Install Ubuntu" { + linux /casper/vmlinuz boot=casper only-ubiquity quiet splash --- + initrd /casper/initrd + } + + menuentry "Check disc for defects" { + linux /casper/vmlinuz boot=casper integrity-check quiet splash --- + initrd /casper/initrd + } + + menuentry "Test memory" { + linux /install/memtest + } + EOF ``` -2. **Boot-loader configuration** - - 1. Access build directory - ``` - cd $HOME/live-ubuntu-from-scratch - ``` - - 2. Create image/isolinux/isolinux.cfg - ``` - cat < image/isolinux/isolinux.cfg - path - include menu.cfg - default vesamenu.c32 - prompt 0 - timeout 50 - EOF - ``` - - 3. Create image/isolinux/menu.cfg - ``` - cat < image/isolinux/menu.cfg - menu hshift 13 - menu width 49 - menu margin 8 - - menu title Installer boot menu - include stdmenu.cfg - include txt.cfg - EOF - ``` - - 4. Create image/isolinux/stdmenu.cfg - ``` - cat < image/isolinux/stdmenu.cfg - menu background splash.png - menu color title * #FFFFFFFF * - menu color border * #00000000 #00000000 none - menu color sel * #ffffffff #76a1d0ff * - menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * - menu color tabmsg * #ffffffff #00000000 * - menu color help 37;40 #ffdddd00 #00000000 none - menu vshift 12 - menu rows 10 - menu helpmsgrow 15 - # The command line must be at least one line from the bottom. - menu cmdlinerow 16 - menu timeoutrow 16 - menu tabmsgrow 18 - menu tabmsg Press ENTER to boot or TAB to edit a menu entry - EOF - ``` - - 5. Create image/isolinux/txt.cfg - ``` - cat < image/isolinux/txt.cfg - default live - label live - menu label ^Try Ubuntu without installing - kernel /casper/vmlinuz - append boot=casper initrd=/casper/initrd quiet splash --- - label live-install - menu label ^Install Ubuntu - kernel /casper/vmlinuz - append 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 @@ -466,33 +410,78 @@ sudo umount $HOME/live-ubuntu-from-scratch/chroot/run mkdir image/.disk ``` -## Calculate MD5 - -1. Access build directory - ``` - cd $HOME/live-ubuntu-from-scratch - ``` - -2. Generate md5sum.txt - ``` - sudo /bin/bash -c "(cd image && find . -type f -print0 | xargs -0 md5sum | grep -v "\./md5sum.txt" > md5sum.txt)" - ``` - -## Create ISO Image for a LiveCD +## Create ISO Image for a LiveCD (BIOS + UEFI) 1. Access image directory ``` cd $HOME/live-ubuntu-from-scratch/image ``` -2. Create iso from the image directory using the command-line +2. Create a grub UEFI image ``` - sudo genisoimage -D -r \ - -V "Ubuntu from scratch" \ - -cache-inodes -J -l \ - -b isolinux/isolinux.bin \ - -c isolinux/boot.cat \ - -no-emul-boot \ - -boot-load-size 4 \ - -boot-info-table -o ../ubuntu-from-scratch.iso . + grub-mkstandalone \ + --format=x86_64-efi \ + --output=isolinux/bootx64.efi \ + --locales="" \ + --fonts="" \ + "boot/grub/grub.cfg=isolinux/grub.cfg" + ``` + +4. Create a FAT16 UEFI boot disk image containing the EFI bootloader + ``` + ( + cd isolinux && \ + dd if=/dev/zero of=efiboot.img bs=1M count=10 && \ + sudo mkfs.vfat efiboot.img && \ + mmd -i efiboot.img efi efi/boot && \ + mcopy -i efiboot.img ./bootx64.efi ::efi/boot/ + ) + ``` + +5. Create a grub BIOS image + ``` + grub-mkstandalone \ + --format=i386-pc \ + --output=isolinux/core.img \ + --install-modules="linux normal iso9660 biosdisk memdisk search tar ls" \ + --modules="linux normal iso9660 biosdisk search" \ + --locales="" \ + --fonts="" \ + "boot/grub/grub.cfg=isolinux/grub.cfg" + ``` + +6. Combine a bootable Grub cdboot.img + ``` + cat /usr/lib/grub/i386-pc/cdboot.img isolinux/core.img > isolinux/bios.img + ``` + +7. Generate sha256sum.txt + ``` + sudo /bin/bash -c "(find . -type f -print0 | xargs -0 sha256sum | grep -v "\./sha256sum.txt" > sha256sum.txt)" + ``` + +7. Create iso from the image directory using the command-line + ``` + sudo xorriso \ + -as mkisofs \ + -iso-level 3 \ + -full-iso9660-filenames \ + -volid "Ubuntu from scratch" \ + -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 "../ubuntu-from-scratch.iso" \ + -graft-points \ + "." \ + /boot/grub/bios.img=isolinux/bios.img \ + /EFI/efiboot.img=isolinux/efiboot.img ``` diff --git a/image/splash.png b/image/splash.png deleted file mode 100644 index 8387d70cf61c69007e16f65d79dd32ececc3bc33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46117 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 Dr*#LP