Created
May 3, 2013 15:06
-
-
Save pandeiro/5509675 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<head> | |
<meta charset="utf-8"> | |
</head> | |
<div id="table-of-contents"> | |
<h2>Table of Contents</h2> | |
<div id="text-table-of-contents"> | |
<ul> | |
<li><a href="#sec-1">1 Create partition(s) and file system</a> | |
<ul> | |
<li><a href="#sec-1-1">1.1 Get USB drive's location</a></li> | |
<li><a href="#sec-1-2">1.2 Create partitions using GPT (ArchWiki)</a></li> | |
<li><a href="#sec-1-3">1.3 Format partition with a file system (ArchWiki)</a></li> | |
</ul> | |
</li> | |
<li><a href="#sec-2">2 Mount new system to /mnt</a></li> | |
<li><a href="#sec-3">3 Install the base system</a> | |
<ul> | |
<li><a href="#sec-3-1">3.1 Get packages</a></li> | |
<li><a href="#sec-3-2">3.2 Install bootloader</a></li> | |
<li><a href="#sec-3-3">3.3 Generate fstab with UUID</a></li> | |
<li><a href="#sec-3-4">3.4 Configure bootloader</a></li> | |
</ul> | |
</li> | |
<li><a href="#sec-4">4 Copy locale and console configurations from host:/etc</a></li> | |
<li><a href="#sec-5">5 Set hostname</a></li> | |
<li><a href="#sec-6">6 Modify /mnt/etc/mkinitcpio.conf</a></li> | |
<li><a href="#sec-7">7 Chroot to /mnt</a> | |
<ul> | |
<li><a href="#sec-7-1">7.1 Run locale-gen inside chroot</a></li> | |
<li><a href="#sec-7-2">7.2 Run mkinitcpio</a></li> | |
<li><a href="#sec-7-3">7.3 Set password</a></li> | |
</ul> | |
</li> | |
<li><a href="#sec-8">8 Unmount /mnt & Reboot</a></li> | |
</ul> | |
</div> | |
</div> | |
<div id="outline-container-1" class="outline-3"> | |
<h3 id="sec-1">Create partition(s) and file system</h3> | |
<div class="outline-text-3" id="text-1"> | |
</div> | |
<div id="outline-container-1-1" class="outline-4"> | |
<h4 id="sec-1-1">Get USB drive's location</h4> | |
<div class="outline-text-4" id="text-1-1"> | |
<pre class="src src-sh">lsblk | |
</pre> | |
</div> | |
</div> | |
<div id="outline-container-1-2" class="outline-4"> | |
<h4 id="sec-1-2">Create partitions using GPT (<a href="https://wiki.archlinux.org/index.php/Partitioning#Using_GPT_-_Modern_Method">ArchWiki</a>)</h4> | |
<div class="outline-text-4" id="text-1-2"> | |
<pre class="src src-sh">sudo gdisk /dev/sdb <span style="color: #7f9f7f;"># </span><span style="color: #7f9f7f;">assuming device is at /dev/sdb</span> | |
</pre> | |
<ul> | |
<li id="sec-1-2-1">BIOS Boot Partition (EF02): 1 MiB<br/> | |
</li> | |
</ul> | |
<ul> | |
<li id="sec-1-2-2">Main Windows/Linux partition (0700): the rest<br/> | |
</li> | |
</ul> | |
</div> | |
</div> | |
<div id="outline-container-1-3" class="outline-4"> | |
<h4 id="sec-1-3">Format partition with a file system (<a href="https://wiki.archlinux.org/index.php/File_Systems">ArchWiki</a>)</h4> | |
<div class="outline-text-4" id="text-1-3"> | |
<p>Initially tried with F2FS, but later when running mkinitcpio, it | |
complained about no fsck.f2fs. And the resulting system wouldn't even boot. | |
So for now I am trying with ext4. | |
</p> | |
<pre class="src src-sh"><span style="color: #7f9f7f;"># </span><span style="color: #7f9f7f;">assuming main partition is sdb2</span> | |
sudo mkfs.ext4 /dev/sdb2 | |
<span style="color: #7f9f7f;"># </span><span style="color: #7f9f7f;">sudo mkfs.f2fs /dev/sdb2</span> | |
</pre> | |
</div> | |
</div> | |
</div> | |
<div id="outline-container-2" class="outline-3"> | |
<h3 id="sec-2">Mount new system to /mnt</h3> | |
<div class="outline-text-3" id="text-2"> | |
<pre class="src src-sh">sudo mount -t ext4 /dev/sdb2 /mnt | |
<span style="color: #7f9f7f;">#</span><span style="color: #7f9f7f;">sudo mount -t f2fs /dev/sdb2 /mnt</span> | |
</pre> | |
</div> | |
</div> | |
<div id="outline-container-3" class="outline-3"> | |
<h3 id="sec-3">Install the base system</h3> | |
<div class="outline-text-3" id="text-3"> | |
</div> | |
<div id="outline-container-3-1" class="outline-4"> | |
<h4 id="sec-3-1">Get packages</h4> | |
<div class="outline-text-4" id="text-3-1"> | |
<pre class="src src-sh"><span style="color: #7f9f7f;"># </span><span style="color: #7f9f7f;">the -c flag uses existing package cache on the host instead of</span> | |
<span style="color: #7f9f7f;"># </span><span style="color: #7f9f7f;">re-downloading everything</span> | |
sudo pacstrap -c /mnt base | |
</pre> | |
</div> | |
</div> | |
<div id="outline-container-3-2" class="outline-4"> | |
<h4 id="sec-3-2">Install bootloader</h4> | |
<div class="outline-text-4" id="text-3-2"> | |
<pre class="src src-sh">sudo arch-chroot /mnt pacman -S grub-bios | |
</pre> | |
</div> | |
</div> | |
<div id="outline-container-3-3" class="outline-4"> | |
<h4 id="sec-3-3">Generate fstab with UUID</h4> | |
<div class="outline-text-4" id="text-3-3"> | |
<pre class="src src-sh"><span style="color: #7f9f7f;"># </span><span style="color: #7f9f7f;">this should output the partition with UUID, but didn't for me</span> | |
<span style="color: #7f9f7f;"># </span><span style="color: #7f9f7f;">for some reason it outputs the /dev/sda4 swap partition too</span> | |
sudo genfstab -p -U /mnt | sudo tee /mnt/etc/fstab | |
<span style="color: #7f9f7f;"># </span><span style="color: #7f9f7f;">if you need to get the UUID manually</span> | |
sudo blkid | |
</pre> | |
</div> | |
</div> | |
<div id="outline-container-3-4" class="outline-4"> | |
<h4 id="sec-3-4">Configure bootloader</h4> | |
<div class="outline-text-4" id="text-3-4"> | |
<p>Edit menu.lst | |
</p></div> | |
</div> | |
</div> | |
<div id="outline-container-4" class="outline-3"> | |
<h3 id="sec-4">Copy locale and console configurations from host:/etc</h3> | |
<div class="outline-text-3" id="text-4"> | |
<pre class="src src-sh"><span style="color: #93e0e3;">cd</span> /etc && sudo cp locale.conf vconsole.conf locale.gen /mnt/etc/ | |
</pre> | |
<ul> | |
<li>/etc/locale.conf | |
</li> | |
<li>/etc/vconsole.conf | |
</li> | |
<li>/etc/locale.gen | |
</li> | |
</ul> | |
</div> | |
</div> | |
<div id="outline-container-5" class="outline-3"> | |
<h3 id="sec-5">Set hostname</h3> | |
<div class="outline-text-3" id="text-5"> | |
<pre class="src src-sh"><span style="color: #93e0e3;">echo</span> <span style="color: #cc9393;">"newhostname"</span> | sudo tee /mnt/etc/hostname | |
</pre> | |
</div> | |
</div> | |
<div id="outline-container-6" class="outline-3"> | |
<h3 id="sec-6">Modify /mnt/etc/mkinitcpio.conf</h3> | |
<div class="outline-text-3" id="text-6"> | |
<p>In the HOOKS array, 'block' should be right after 'udev' | |
</p></div> | |
</div> | |
<div id="outline-container-7" class="outline-3"> | |
<h3 id="sec-7">Chroot to /mnt</h3> | |
<div class="outline-text-3" id="text-7"> | |
<pre class="src src-sh">sudo arch-chroot /mnt | |
</pre> | |
</div> | |
<div id="outline-container-7-1" class="outline-4"> | |
<h4 id="sec-7-1">Run locale-gen inside chroot</h4> | |
<div class="outline-text-4" id="text-7-1"> | |
<pre class="src src-sh">locale-gen | |
</pre> | |
</div> | |
</div> | |
<div id="outline-container-7-2" class="outline-4"> | |
<h4 id="sec-7-2">Run mkinitcpio</h4> | |
<div class="outline-text-4" id="text-7-2"> | |
<pre class="src src-sh">mkinitcpio -p linux | |
</pre> | |
</div> | |
</div> | |
<div id="outline-container-7-3" class="outline-4"> | |
<h4 id="sec-7-3">Set password</h4> | |
<div class="outline-text-4" id="text-7-3"> | |
<pre class="src src-sh">passwd | |
</pre> | |
</div> | |
</div> | |
</div> | |
<div id="outline-container-8" class="outline-3"> | |
<h3 id="sec-8">Unmount /mnt & Reboot</h3> | |
<div class="outline-text-3" id="text-8"> | |
</div> | |
</div> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment