User Tools

Site Tools


oclug-live-distro

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
oclug-live-distro [2017/04/04 16:53] – [Create your VMWare VMX file] jcnashoclug-live-distro [2017/04/04 17:47] – [EFI Booting] jcnash
Line 6: Line 6:
  
 Collected comments are on page(s) [[2017comments|2017comments]] in reverse date order. Collected comments are on page(s) [[2017comments|2017comments]] in reverse date order.
-==== Planning outline for OCLUG live USB distro ==== 
  
-Date: 17-3-4       John C. Nash+==== Live Distro Planning Document ====
  
-==== Goals====+   * [[livedistro:plan2017|livedistro:plan2017]]
  
-  * Unordered List Item"boot anywhere" -- legacy/UEFI, 32/64, non-pae 
-  * customizable 
-  * remasterable 
-  * installable 
-  * documented, both for "product" and how it has been built 
  
-==== Base ideas: ====+==== EFI Booting ====
  
-We have a preliminary liveUSB/iso that is +  [[livedistro:SMurphy170321|livedistro:SMurphy170321]]
-  Arch based +
-  * boots UEFI or legacy +
-  * 32 or 64 bit, and boots on non-pae processor +
-  * This also boots in VirtualBox VM +
-     * can run startx to come up in openbox (manual start) +
-     * very minimal  +
- +
- +
-==== Tasks==== +
- A goal is to have these "bite sized" if possible +
- +
- * Graphical interface +
-      * openbox configuration +
-      * openbox add-ons such as  +
-         * tint2 - system panel and task bar +
-         * conky - system monitor and information center +
-         * nitrogen - for backgrounds +
-      * some documentation on install and configuration for above +
- +
- * Customizing the system +
-     * pacman installs +
-     * recommended and necessary tools +
-     * how to remove/reduce to keep things tight +
-     * checking and verifying system +
-     * documentation of the above +
- +
- * Remastering +
-     * getting a new live image from running virtual system +
-     * Are there choices we need to address? +
-     * Testing image in virtual environment +
-     * packaging image onto USB or other media +
-     * appropriate boot mechanisms in place +
- +
-  * Installer script +
-     * optional inclusion on the image +
-     * how to adjust / test+
  
 ===== Investigation of EFI boot (S Murphy) ===== ===== Investigation of EFI boot (S Murphy) =====
Line 101: Line 59:
 where you start the VM to get the install going. My VM has  where you start the VM to get the install going. My VM has 
  
-* A 20GB disk +   * A 20GB disk 
-* 1024MB RAM +   * 1024MB RAM 
-* A single processor+   * A single processor
  
 ==== Forcing UEFI Boot ==== ==== Forcing UEFI Boot ====
Line 135: Line 93:
 get started. get started.
  
-* Mount the DVD image and connect it to the VM +   * Mount the DVD image and connect it to the VM 
-* Power on the VM. It should autoboot into a root shell +   * Power on the VM. It should autoboot into a root shell 
-* Verify that you are in UEFI mode+   * Verify that you are in UEFI mode
  
-``` +    ls /sys/firmware/efi/efivars
-ls /sys/firmware/efi/efivars +
-```+
  
-* Make sure you can see the internet (The system should have dhcp'd an address)+   * Make sure you can see the internet (The system should have dhcp'd an address)
  
-``` +   ping archlinux.org
-ping archlinux.org +
-```+
  
-* Enable network time protocol 
  
-``` +   * Enable network time protocol
-timedatectl set-ntp true +
-timedatectl status +
-```+
  
-* Partition your disk. In this instance, you need to create at least three +   timedatectl set-ntp true 
-partitions: +   timedatectl status
-** Boot (512M, fat32) +
-** Swap (I usually use 256M and hope I never start swapping) +
-** / (The bulk of the disk)+
  
-* you can use `sgdisk` to create your partitions with the 
-  following commands, assuming your disk is /dev/sda: 
  
-``` +   * Partition your disk. In this instance, you need to create at least three partitions: 
-sgdisk -p /dev/sda +       * Boot (512M, fat32) 
-sgdisk --new=0:0:+512M /dev/sda +       * Swap (I usually use 256M and hope I never start swapping) 
-sgdisk --new=0:0:+256M /dev/sda +      * / (The bulk of the disk) 
-sgdisk --new=0:0:0 /dev/sda + 
-sgdisk --typecode=1:EF00 /dev/sda +   * you can use `sgdiskto create your partitions with the following commands, assuming your disk is /dev/sda: 
-sgdisk --typecode=2:8200 /dev/sda + 
-sgdisk --change-name=1:"EFI System" /dev/sda +   sgdisk -p /dev/sda 
-sgdisk --change-name=2:"Linux swap" /dev/sda +   sgdisk --new=0:0:+512M /dev/sda 
-sgdisk --change-name=3:"Linux filesystem" /dev/sda +   sgdisk --new=0:0:+256M /dev/sda 
-sgdisk -p /dev/sda +   sgdisk --new=0:0:0 /dev/sda 
-```+   sgdisk --typecode=1:EF00 /dev/sda 
 +   sgdisk --typecode=2:8200 /dev/sda 
 +   sgdisk --change-name=1:"EFI System" /dev/sda 
 +   sgdisk --change-name=2:"Linux swap" /dev/sda 
 +   sgdisk --change-name=3:"Linux filesystem" /dev/sda 
 +   sgdisk -p /dev/sda 
  
 That should first show you a disk with no partition table, and then the disk with all That should first show you a disk with no partition table, and then the disk with all
 three partitions, something like this: three partitions, something like this:
  
-``` +   Disk /dev/sda: 41943040 sectors, 20.0 GiB 
-Disk /dev/sda: 41943040 sectors, 20.0 GiB +   Logical sector size: 512 bytes 
-Logical sector size: 512 bytes +   Disk identifier (GUID): 9E17A0DA-9DED-4E62-BAE7-076E1522C21B 
-Disk identifier (GUID): 9E17A0DA-9DED-4E62-BAE7-076E1522C21B +   Partition table holds up to 128 entries 
-Partition table holds up to 128 entries +   First usable sector is 34, last usable sector is 41943006 
-First usable sector is 34, last usable sector is 41943006 +   Partitions will be aligned on 2048-sector boundaries 
-Partitions will be aligned on 2048-sector boundaries +   Total free space is 4061 sectors (2.0 MiB) 
-Total free space is 4061 sectors (2.0 MiB)+ 
 +   Number  Start (sector)    End (sector)  Size       Code  Name 
 +      1            2048         1048576   511.0 MiB   EF00  EFI System 
 +      2         1050624         1574911   256.0 MiB   8200  Linux swap 
 +      3         1574912        41943006   19.2 GiB    8300  Linux filesystem
  
-Number  Start (sector)    End (sector)  Size       Code  Name 
-              2048         1048576   511.0 MiB   EF00  EFI System 
-           1050624         1574911   256.0 MiB   8200  Linux swap 
-           1574912        41943006   19.2 GiB    8300  Linux filesystem 
-``` 
  
 Now that the disk is properly partitioned, you will format the partitions: Now that the disk is properly partitioned, you will format the partitions:
  
-``` +   mkfs.fat -F32 /dev/sda1 
-mkfs.fat -F32 /dev/sda1 +   mkswap -L swap /dev/sda2 
-mkswap -L swap /dev/sda2 +   mkfs.ext4 /dev/sda3 
-mkfs.ext4 /dev/sda3 +
-```+
  
 NOTE: UEFI partitions are FAT32 formatted and the UEFI BIOS can read FAT32 partitions to locate NOTE: UEFI partitions are FAT32 formatted and the UEFI BIOS can read FAT32 partitions to locate
Line 210: Line 159:
 What are we going todo? What are we going todo?
  
-. Mount the root partition on /mnt +   . Mount the root partition on /mnt 
-. Create a new directory to mount the boot partition on and mount it there +   . Create a new directory to mount the boot partition on and mount it there 
-. Use the pacstrap program to install the base operating system +   . Use the pacstrap program to install the base operating system 
-. Create a new fstab that reflects the mounted disks +   . Create a new fstab that reflects the mounted disks 
-. Chroot to the newly installed OS so initial changes could be made  +   . Chroot to the newly installed OS so initial changes could be made  
-. Set the timezone +   . Set the timezone 
-. Set the hardware clock to the running OS +   . Set the hardware clock to the running OS 
-. Enable the en_US locakle and set the system language to en_US UTF8 +   . Enable the en_US locakle and set the system language to en_US UTF8 
-. Give the system a hostname +   . Give the system a hostname 
-. Let the system refer to itself in a zeroconf (bonjour) way+   . Let the system refer to itself in a zeroconf (bonjour) way
  
 In order to acomplish this, enter the following commands: In order to acomplish this, enter the following commands:
  
-``` +   mount /dev/sda3 /mnt 
-mount /dev/sda3 /mnt +   mkdir /mnt/boot 
-mkdir /mnt/boot +   mount /dev/sda1 /mnt/boot 
-mount /dev/sda1 /mnt/boot +   pacstrap /mnt/base 
-pacstrap /mnt/base +   genfstab -U /mnt >> /mnt/etc/fstab 
-genfstab -U /mnt >> /mnt/etc/fstab +   arch-chroot /mnt 
-arch-chroot /mnt +   ln -sf /usr/share/zoneinfo/America/Toronto /etc/localtime 
-ln -sf /usr/share/zoneinfo/America/Toronto /etc/localtime +   hwclock --systohc 
-hwclock --systohc +   sed -i 's/#en_US/en_US/' /etc/locale.gen 
-sed -i 's/#en_US/en_US/' /etc/locale.gen +   locale-gen 
-locale-gen +   echo "LANG=en_US.UTF-8" > /etc/locale.conf 
-echo "LANG=en_US.UTF-8" > /etc/locale.conf +   echo "myhostname" > /etc/hostname 
-echo "myhostname" > /etc/hostname +   echo "127.0.0.1     myhostname.localdomain myhostname" >> /etc/hosts 
-echo "127.0.0.1     myhostname.localdomain myhostname" >> /etc/hosts +
-```+
  
-### Intel based System+==== Intel based System====
  
 If this is an Intel based system, you will need to add the ability to perform If this is an Intel based system, you will need to add the ability to perform
Line 247: Line 195:
 You enable the updates that by adding the intel microcode package: You enable the updates that by adding the intel microcode package:
  
-``` +   pacman -S intel-ucode 
-pacman -S intel-ucode +
-```+
  
 NOTE: Need to check this out on a test system. I'm not sure you need to perform NOTE: Need to check this out on a test system. I'm not sure you need to perform
Line 259: Line 206:
 install the grub utilities and update the configuration: install the grub utilities and update the configuration:
  
-``` +   pacman -S grub 
-pacman -S grub +   grub-mkconfig -o /boot/grub/grub.cfg 
-grub-mkconfig -o /boot/grub/grub.cfg +
-```+
  
 or you might need to do it inside the EFI setup. That will ne noted in the /boot or you might need to do it inside the EFI setup. That will ne noted in the /boot
Line 269: Line 215:
 Now you should set the root password:  Now you should set the root password: 
  
-``` +   passwd 
-passwd +
-```+
  
 Congratulations, the system has been installed. Unfortunately, it will not boot Congratulations, the system has been installed. Unfortunately, it will not boot
 just yet. just yet.
  
-### The /boot Partition+==== The /boot Partition ====
  
 This is where it tends to get a little harder to follow. At this point, you can This is where it tends to get a little harder to follow. At this point, you can
Line 295: Line 240:
 You are going to need some more tools installed, so fire up `pacman` You are going to need some more tools installed, so fire up `pacman`
  
-``` +   pacman -S efibootmgr efitools
-pacman -S efibootmgr efitools +
-```+
  
 You can check to see if the system is effectively ready for this by running the You can check to see if the system is effectively ready for this by running the
 `efivar` command and seeing the output `efivar` command and seeing the output
  
-``` +   efivar -l
-efivar -l +
-```+
  
 This should give you a list of "things" that look like a bunch of GUIDs followed This should give you a list of "things" that look like a bunch of GUIDs followed
Line 311: Line 252:
 This is the secret sauce for making the system bootable: This is the secret sauce for making the system bootable:
  
-``` +   efibootmgr -d /dev/sda -p 1 -c -L "Arch Linux" -l '\vmlinuz-linux' -u "root=/dev/sda3 rw initrd=/initramfs-linux.img" 
-efibootmgr -d /dev/sda -p 1 -c -L "Arch Linux" -l '\vmlinuz-linux' -u "root=/dev/sda3 rw initrd=/initramfs-linux.img" +
-```+
  
 NOTE: Intel microcode updates may require the previous line to include two NOTE: Intel microcode updates may require the previous line to include two
 `initrd=` sections, so the previous line would have `-u "root=/dev/sda3 rw initrd=/intel-ucode.img initrd=/initramfs-linux.img"` `initrd=` sections, so the previous line would have `-u "root=/dev/sda3 rw initrd=/intel-ucode.img initrd=/initramfs-linux.img"`
  
-### Enabling the network+==== Enabling the network ====
  
 This is for a wired connection, however the procedure is similar for wireless. This is for a wired connection, however the procedure is similar for wireless.
Line 329: Line 269:
 Get the name of the wired interface. It will not be eth0. Get the name of the wired interface. It will not be eth0.
  
-``` +   ip link 
-ip link +
-```+
  
 The output will be like: The output will be like:
  
-``` +   1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
-1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000+
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
-2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000+   2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
     link/ether 00:0c:29:dc:56:64 brd ff:ff:ff:ff:ff:ff     link/ether 00:0c:29:dc:56:64 brd ff:ff:ff:ff:ff:ff
-``` 
  
 The wired interface is **ens33**. The wired interface is **ens33**.
Line 377: Line 314:
 ==== TODO ==== ==== TODO ====
  
-* X11 Setup +  * X11 Setup 
-* Window Manager installation +  * Window Manager installation 
-* TBD+  * TBD
  
 ==== References ==== ==== References ====
Line 385: Line 322:
 The following pages (mostly from the Arch Wiki) were used to make these notes. The following pages (mostly from the Arch Wiki) were used to make these notes.
  
-* https://wiki.archlinux.org/index.php/Installation_guide[Installation guide - ArchWiki] +  [[https://wiki.archlinux.org/index.php/Installation_guide|Installation guide - ArchWiki]
-* https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface[Unified Extensible Firmware Interface - ArchWiki] +  [[https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface|Unified Extensible Firmware Interface - ArchWiki]
-* https://wiki.archlinux.org/index.php/EFI_System_Partition[EFI System Partition - ArchWiki] +  [[https://wiki.archlinux.org/index.php/EFI_System_Partition EFI System Partition - ArchWiki]
-* https://wiki.archlinux.org/index.php/Talk:EFISTUB#ESP_mount_points[Talk:EFISTUB - ArchWiki] +  [[https://wiki.archlinux.org/index.php/Talk:EFISTUB#ESP_mount_points Talk:EFISTUB - ArchWiki]
-* https://wiki.archlinux.org/index.php/EFISTUB[EFISTUB - ArchWiki] +  [[https://wiki.archlinux.org/index.php/EFISTUB EFISTUB - ArchWiki]
-* https://wiki.archlinux.org/index.php/Network_configuration#Check_the_connection[Network configuration - ArchWiki] +  [[https://wiki.archlinux.org/index.php/Network_configuration#Check_the_connection Network configuration - ArchWiki]
-* https://wiki.archlinux.org/index.php/Microcode#Enabling_Intel_microcode_updates[Microcode - ArchWiki] +  [[https://wiki.archlinux.org/index.php/Microcode#Enabling_Intel_microcode_updates Microcode - ArchWiki]
-* https://wiki.archlinux.org/index.php/Systemd-networkd#Basic_DHCP_network[systemd-networkd - ArchWiki] +  [[https://wiki.archlinux.org/index.php/Systemd-networkd#Basic_DHCP_network systemd-networkd - ArchWiki]
-* https://wiki.archlinux.org/index.php/VMware/Installing_Arch_as_a_guest#VMware_Tools_versus_Open-VM-Tools[VMware/Installing Arch as a guest - ArchWiki] +  [[https://wiki.archlinux.org/index.php/VMware/Installing_Arch_as_a_guest#VMware_Tools_versus_Open-VM-Tools VMware/Installing Arch as a guest - ArchWiki]
-* https://wiki.archlinux.org/index.php/Arch_User_Repository[Arch User Repository - ArchWiki]+  [[https://wiki.archlinux.org/index.php/Arch_User_Repository Arch User Repository - ArchWiki]]
  
 Also looked at: Also looked at:
  
-* https://blog.uncooperative.org/blog/2014/02/06/the-efi-system-partition/[The EFI System Partition and the Default Boot Behavior - The Uncoöperative Organization] +  [[https://blog.uncooperative.org/blog/2014/02/06/the-efi-system-partition/ The EFI System Partition and the Default Boot Behavior - The Uncoöperative Organization]
-* https://github.com/rasa/vmware-tools-patches[rasa/vmware-tools-patches: Patch and build VMware tools automatically] +  [[https://github.com/rasa/vmware-tools-patches rasa/vmware-tools-patches: Patch and build VMware tools automatically]
-* http://planetvm.net/blog/?p=2730[Boot via EFI firmware - PlanetVM]+  [[http://planetvm.net/blog/?p=2730 Boot via EFI firmware - PlanetVM]]
  
 For creating that USB stick, you can use the traditional `dd` method or try out For creating that USB stick, you can use the traditional `dd` method or try out
-https://etcher.io/[Etcher] if you are command line weary.+[[https://etcher.io/ Etcher]] if you are command line weary.
  
-=== Extra Information ===+==== Extra Information ====
  
 Of course if you would prefer to do the install, including the GUI desktop and Of course if you would prefer to do the install, including the GUI desktop and
Line 412: Line 349:
 They are: They are:
  
-* https://arch-anywhere.org[ArchAnywhere] +  [[https://arch-anywhere.org ArchAnywhere]
-* https://sourceforge.net/projects/revenge-installer[Revenge Installer]+  [[https://sourceforge.net/projects/revenge-installer Revenge Installer]]
  
  
  
oclug-live-distro.txt · Last modified: 2024/03/31 15:34 by scott5