oclug-live-distro
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
oclug-live-distro [2017/04/04 16:52] – [Create your VMWare VMX file] jcnash | oclug-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 | + | ==== Live Distro Planning Document ==== |
- | ==== Goals: ==== | + | * [[livedistro:plan2017|livedistro: |
- | * Unordered List Item" | ||
- | * customizable | ||
- | * remasterable | ||
- | * installable | ||
- | * documented, both for " | ||
- | ==== Base ideas: | + | ==== EFI Booting |
- | We have a preliminary liveUSB/iso that is | + | |
- | | + | |
- | * 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/ | + | |
- | * 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 | + | |
- | * A single processor | + | |
- | ### Forcing UEFI Boot | + | ==== Forcing UEFI Boot ==== |
In order to use UEFI, you need to edit the VMX file. Assuming you called the | In order to use UEFI, you need to edit the VMX file. Assuming you called the | ||
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 | + | |
- | * Verify that you are in UEFI mode | + | |
- | ``` | + | |
- | ls / | + | |
- | ``` | + | |
- | * 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 | + | |
- | 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: | + | * Swap (I usually use 256M and hope I never start swapping) |
- | sgdisk --new=0: | + | * / (The bulk of the disk) |
- | sgdisk --new=0:0:0 /dev/sda | + | |
- | sgdisk --typecode=1: | + | * you can use `sgdisk` to create your partitions with the following commands, assuming your disk is /dev/sda: |
- | sgdisk --typecode=2: | + | |
- | sgdisk --change-name=1:" | + | |
- | sgdisk --change-name=2:" | + | |
- | sgdisk --change-name=3:" | + | |
- | 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 | + | |
- | Disk identifier (GUID): 9E17A0DA-9DED-4E62-BAE7-076E1522C21B | + | |
- | Partition table holds up to 128 entries | + | |
- | First usable sector is 34, last usable sector is 41943006 | + | |
- | Partitions will be aligned on 2048-sector boundaries | + | |
- | Total free space is 4061 sectors (2.0 MiB) | + | |
+ | | ||
+ | 1 2048 | ||
+ | 2 | ||
+ | 3 | ||
- | Number | ||
- | | ||
- | | ||
- | | ||
- | ``` | ||
Now that the disk is properly partitioned, | Now that the disk is properly partitioned, | ||
- | ``` | + | mkfs.fat -F32 /dev/sda1 |
- | mkfs.fat -F32 /dev/sda1 | + | |
- | mkswap -L swap /dev/sda2 | + | |
- | 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 | + | |
- | . Use the pacstrap program to install the base operating system | + | |
- | . Create a new fstab that reflects the mounted disks | + | |
- | . Chroot to the newly installed OS so initial changes could be made | + | |
- | . Set the timezone | + | |
- | . Set the hardware clock to the running OS | + | |
- | . Enable the en_US locakle and set the system language to en_US UTF8 | + | |
- | . Give the system a hostname | + | |
- | . 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 | + | |
- | mount /dev/sda1 /mnt/boot | + | |
- | pacstrap /mnt/base | + | |
- | genfstab -U /mnt >> / | + | |
- | arch-chroot /mnt | + | |
- | ln -sf / | + | |
- | hwclock --systohc | + | |
- | sed -i ' | + | |
- | locale-gen | + | |
- | echo " | + | |
- | echo " | + | |
- | echo " | + | |
- | ``` | + | |
- | ### 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 / | + | |
- | ``` | + | |
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, | Congratulations, | ||
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 " | This should give you a list of " | ||
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 ' |
- | efibootmgr -d /dev/sda -p 1 -c -L "Arch Linux" -l ' | + | |
- | ``` | + | |
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 " | `initrd=` sections, so the previous line would have `-u " | ||
- | ### 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: < |
- | 1: lo: < | + | |
link/ | link/ | ||
- | 2: ens33: < | + | 2: ens33: < |
link/ether 00: | link/ether 00: | ||
- | ``` | ||
The wired interface is **ens33**. | The wired interface is **ens33**. | ||
Line 377: | Line 314: | ||
==== TODO ==== | ==== TODO ==== | ||
- | * 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:// | + | |
- | * https:// | + | * [[https:// |
- | * https:// | + | * [[https:// |
- | * https:// | + | * [[https:// |
- | * https:// | + | * [[https:// |
- | * https:// | + | * [[https:// |
- | * https:// | + | * [[https:// |
- | * https:// | + | * [[https:// |
- | * https:// | + | * [[https:// |
- | * https:// | + | * [[https:// |
Also looked at: | Also looked at: | ||
- | * https:// | + | |
- | * https:// | + | * [[https:// |
- | * http:// | + | * [[http:// |
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:// | + | [[https:// |
- | === 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:// | + | |
- | * https:// | + | * [[https:// |
oclug-live-distro.txt · Last modified: 2024/03/31 15:34 by scott5