<h1 id="archlinux-on-a-celes">ArchLinux on a CELES</h1>
<h4 id="samsung-chromebook-3">Samsung Chromebook 3</h4>
<h2 id="before-begining">Before begining</h2>
<ul>
<li>Required tools
<ul>
<li>Screwdriver</li>
<li>Install medium (<a href="https://arch-anywhere.org">Arch-Anywhere</a>)</li>
<li>USB keyboard (Built-in needs <a href="https://lxr.free-electrons.com/source/drivers/pinctrl/intel/pinctrl-cherryview.c">pinctrl-cherryview.c</a>)</li>
<li>Internet connecion</li>
<li>Other Device (Maybe)</li>
</ul></li>
<li>Links
<ul>
<li>https://www.startpage.com/do/dsearch?query=xe500c13</li>
<li>https://mrchromebox.tech/#fwscript</li>
</ul></li>
<li>Packages to expect/build
<ul>
<li><a href="https://aur.archlinux.org/pkgbase/linux-galliumos-braswell">linux-galliumos-braswell</a></li>
<li><a href="https://aur.archlinux.org/packages/galliumos-braswell-config">galliumos-braswell-config</a></li>
</ul></li>
<li>Packages to consider
<ul>
<li><a href="https://wiki.archlinux.org/index.php/Modprobed-db">modprobed-db</a> <!-- - --></li>
</ul></li>
</ul>
<h2 id="how-to">How-to</h2>
<ol type="1">
<li>Remove HW write-protect screw
<ul>
<li><a href="https://maxwyb.github.io/linux/2016/11/05/chromebook-write-protection.html">Guide on Github by maxwyb</a></li>
</ul></li>
<li>Developer mode
<ul>
<li>Enable Developer mode</li>
</ul></li>
</ol>
<blockquote>
<p>...press, and hold the <code>Esc + F3 (Refresh) keys</code> – then press the Power button. This enters Recovery Mode...</p>
</blockquote>
<blockquote>
<p>...press <code>Ctrl + D</code>. It will ask you to confirm, then the system will revert its state and enable Developer Mode...</p>
</blockquote>
<blockquote>
<p>...press <code>Ctrl + Alt + F2</code> (F2 is the "forward" arrow on the top row, →)</p>
</blockquote>
<blockquote>
<p>...Use <code>chronos</code> as the username...</p>
</blockquote>
<ol start="3" type="1">
<li>SU &amp; FW
<ul>
<li>Escalate privileges. <code>sudo -i</code></li>
<li><a href="https://mrchromebox.tech/#fwscript">ChromeOS Firmware Utility Script</a>
<ol type="1">
<li>Install <code>RW_LEGACY</code></li>
<li>Set <code>GBB Flags</code> (1 second, SeaBIOS/Legacy)</li>
<li>Remove <code>ChromeOS Bitmaps</code> (To look cool)</li>
</ol></li>
</ul></li>
<li>OS &amp; Kernel
<ul>
<li>Install ArchLinux</li>
<li>Install <code>yaourt</code></li>
<li>Install kernel with IRQ patch:</li>
<li><code>yaourt -G linux-galliumos-braswell&amp;&amp;cd !:2</code></li>
<li><code>makepkg -sifCc --skipinteg</code></li>
<li>Install <code>galliumos-braswell-config</code>:
<ul>
<li><code>yaourt -S --force galliumos-braswell-config</code></li>
</ul></li>
</ul></li>
<li>Grub
<ul>
<li>Regenerate Grub configuration file
<ul>
<li><code>grub-mkconfig -o /boot/grub/grub.cfg</code></li>
</ul></li>
</ul></li>
</ol>
<h2 id="extra">Extra</h2>
<ul>
<li>GREETS
<ul>
<li><span class="citation" data-cites="Brbr">@Brbr</span> of <a href="https://www.brakeingsecurity.com/">BrakeSec Podcast</a> for the audio hardware</li>
<li>Nick of youtube &amp; twitter fame for the Chromebook</li>
<li><a href="infosecaddicts.com">InfosecAddicts</a> for being good people</li>
<li>Hackers everywhere for Hacking on</li>
</ul></li>
<li>Pods
<ul>
<li><a href="noagendashow.com">No Agenda</a></li>
<li><a href="https://www.jupiterbroadcasting.com/show/unfilter">Unfilter</a></li>
<li><a href="www.congressionaldish.com">Congressional Dish</a></li>
<li><a href="www.brakeingsecurity.com">Breaking Down Security</a></li>
<li><a href="www.embedded.fm">Embedded</a></li>
<li><a href="https://thedollop.libsyn.com">The Dollop</a></li>
<li><a href="https://www.myfavoritemurder.com/">My Favorite Murder</a></li>
<li><a href="https://www.originz.info/Originz/Mysteries_Abound_Show_Notes/yMysteries_Abound_Show_Notes.html">Mysteries Abound</a></li>
</ul></li>
</ul>
<h2 id="sources">Sources</h2>
<blockquote>
<p>/etc/default/grub</p>
</blockquote>
<pre><code>GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash irqpoll"
GRUB_CMDLINE_LINUX=""
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
GRUB_TERMINAL_INPUT=console
GRUB_GFXMODE=1024x768
GRUB_GFXPAYLOAD_LINUX=keep
GRUB_DISABLE_LINUX_UUID=true
GRUB_DISABLE_RECOVERY=true
GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
GRUB_SAVEDEFAULT="true"</code></pre>
<blockquote>
<p>/etc/pacman.conf</p>
</blockquote>
<pre><code>RootDir     = /
DBPath      = /var/lib/pacman/
CacheDir    = /var/cache/pacman/pkg/
LogFile     = /var/log/pacman.log
GPGDir      = /etc/pacman.d/gnupg/
HookDir     = /etc/pacman.d/hooks/
HoldPkg     = pacman glibc
CleanMethod = KeepInstalled
UseDelta    = 0.7
Architecture = auto
IgnorePkg   =
IgnoreGroup =
NoUpgrade   =
NoExtract   =
UseSyslog
Color
TotalDownload
CheckSpace
VerbosePkgLists
ILoveCandy
SigLevel = PackageRequired
LocalFileSigLevel = Optional
RemoteFileSigLevel = Required
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist
[arch-anywhere]
Server = https://arch-anywhere.org/repo/$arch
SigLevel = Never</code></pre>
<blockquote>
<p>lscpu</p>
</blockquote>
<pre><code>Architecture :        x86_64
Mode(s) opératoire(s) des processeurs : 32-bit, 64-bit
Boutisme :            Little Endian
Processeur(s) :       2
Liste de processeur(s) en ligne : 0,1
Thread(s) par cœur : 1
Cœur(s) par socket : 2
Socket(s) :           1
Nœud(s) NUMA :       1
Identifiant constructeur : GenuineIntel
Famille de processeur : 6
Modèle :             76
Nom de modèle :      Intel(R) Celeron(R) CPU  N3050  @ 1.60GHz
Révision :           3
Vitesse du processeur en MHz : 642.089
Vitesse maximale du processeur en MHz : 2160,0000
Vitesse minimale du processeur en MHz : 480,0000
BogoMIPS :            3200.00
Virtualisation :      VT-x
Cache L1d :           24K
Cache L1i :           32K
Cache L2 :            1024K
Nœud NUMA 0 de processeur(s) : 0,1
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology tsc_reliable nonstop_tsc aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes rdrand lahf_lm 3dnowprefetch epb tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms dtherm ida arat</code></pre>
<blockquote>
<p>lspci</p>
</blockquote>
<pre><code>00:00.0 Host bridge: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SoC Transaction Register (rev 21)
00:02.0 VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 21)
00:0b.0 Signal processing controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Power Management Controller (rev 21)
00:14.0 USB controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series USB xHCI Controller (rev 21)
00:1b.0 Audio device: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio Controller (rev 21)
00:1c.0 PCI bridge: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #1 (rev 21)
00:1c.2 PCI bridge: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #3 (rev 21)
00:1f.0 ISA bridge: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCU (rev 21)
02:00.0 Network controller: Intel Corporation Wireless 7265 (rev 59)</code></pre>
