Skip to content

Commit bf42462

Browse files
authored
Add WSL2 installation instructions (#22)
1 parent c426843 commit bf42462

File tree

7 files changed

+364
-173
lines changed

7 files changed

+364
-173
lines changed

bootstrap/archlinux/index.html

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5+
<meta name="description" content=
6+
"A page providing the necessary tools to begin programming in C++ on Arch Linux">
7+
<meta name="viewport" content="width=device-width, initial-scale=1">
8+
<title>Developer bootstrap - FRC Team 3512</title>
9+
<link rel="stylesheet" type="text/css" href="../../main.css">
10+
<link rel="shortcut icon" type="image/ico" href="../../favicon.ico">
11+
</head>
12+
<body>
13+
<header id="navbar">
14+
<ul>
15+
<li>
16+
<a href="../../">Home</a>
17+
</li>
18+
<li>
19+
<a href="../../admin/">Admin</a>
20+
</li>
21+
<li>
22+
<a href="../" class="active">Developer Bootstrap</a>
23+
</li>
24+
<li>
25+
<a href="../../vpn/">VPN Setup</a>
26+
</li>
27+
<li>
28+
<a href="../../ci/">Curriculum</a>
29+
</li>
30+
<li>
31+
<a href="../../fll/">FLL</a>
32+
</li>
33+
<li>
34+
<a href="../../archives/">Archives</a>
35+
</li>
36+
</ul>
37+
</header>
38+
<div class="body">
39+
<h1 id="Arch_Linux_bootstrap">Arch Linux bootstrap</h1>
40+
<h2 id="Dual-booting_Arch_Linux_on_a_PC">Dual-booting Arch Linux on a
41+
PC</h2>
42+
<p>Tutorial for this coming soon. For now, refer to <a href=
43+
"https://wiki.archlinux.org/title/Installation_guide">here</a>,</p>
44+
<h2 id="Tools_installation">Tools installation</h2>
45+
<h3>Visual Studio Code</h3>
46+
<p>Follow the installation guide from <a href=
47+
"https://docs.wpilib.org/en/latest/docs/zero-to-robot/step-2/wpilib-setup.html">
48+
WPILib Docs</a>.</p>
49+
<p>To build robot projects in a terminal, run the following command to set
50+
JAVA_HOME in <code>~/.bashrc</code>:</p><code>echo 'export
51+
JAVA_HOME=~/wpilib/2021/jdk' &gt;&gt; ~/.bashrc</code>
52+
<h3>GCC</h3><code>sudo pacman -S gcc</code>
53+
<h3>Git</h3><code>sudo pacman -S git</code>
54+
<h3>Formatter</h3>
55+
<p>This requires a package from the AUR. Use either the manual installation
56+
method (shown below) or an AUR helper.</p>
57+
<pre>
58+
sudo pacman -S python
59+
cd /tmp
60+
git clone https://aur.archlinux.org/python-wpiformat-git
61+
makepkg -si</pre>
62+
<h3 id="CMake">CMake</h3><code>sudo pacman -S cmake</code>
63+
</div>
64+
</body>
65+
</html>

bootstrap/index.html

Lines changed: 17 additions & 173 deletions
Original file line numberDiff line numberDiff line change
@@ -49,82 +49,20 @@ <h1 id="Developer_bootstrap">Developer bootstrap</h1>
4949
highly recommended to back up all of your valuable data to a seperate
5050
location to avoid data loss.
5151
</blockquote>
52-
<h2 id="Dual-booting_Ubuntu_on_a_PC">Dual-booting Ubuntu on a PC</h2>
53-
<p>The first thing to do is to make space for your Ubuntu installation.
54-
Most of the time, the best way of achieving this is to shrink your existing
55-
OS partition (In this tutorial, we will be dealing with dual-booting with
56-
Windows. If you are a Mac user, please use the tutorial on dual-booting for
57-
a Mac.)</p>
58-
<p>Windows has its own built-in partition creator. Here is a really simple
59-
tutorial on dummies.com that can help you with that. The link is <a href=
60-
"https://www.dummies.com/computers/pcs/how-to-shrink-a-hard-drive-volume-in-windows/">
61-
here</a>.</p>
62-
<p>To begin the creation of your USB, grab an empty USB stick and download
63-
an Ubuntu .iso file (you have a choice between the stable and lastest
64-
releases. Stable versions are recommended.) at the <a href=
65-
"https://ubuntu.com/">official Ubuntu website</a>.</p>
66-
<p>Next, you need to install a "USB creator" to help create your bootable
67-
USB stick. Some USB creators include <a href=
68-
"https://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/">Universal
69-
USB Installer (or UUI)</a> and <a href=
70-
"https://www.balena.io/etcher/">Balena Etcher</a>. Instructions are
71-
provided on both of the websites on how to use each individual creator.</p>
72-
<p>After doing so, you can then close the installer once it states that the
73-
bootable USB is ready. At this point, you can restart your PC enable to
74-
start the installation process.</p>
75-
<p>To boot off your newly-created USB, you would need to access your
76-
computer's BIOS. This can be access by pressing a certain key(s) when you
77-
first boot up. Your BIOS keys depend on your PC's manufacturer, which can
78-
usually be found with a quick Google search.</p>
79-
<p>After you have successfully accessed your BIOS, press your appropriate
80-
key to open up your boot options. Select your USB device that with the
81-
Ubuntu installer installed onto it. Once you see the Ubuntu start up
82-
screen, all you have to do is to follow onscreen instructions. When Ubuntu
83-
asks for where you would like to have the Ubuntu OS installed, click
84-
"Something Else". Only select this option, as the others may mess up your
85-
existing Windows installation. It would then ask you to select an empty
86-
partition for you to install on. Select the empty partition that you
87-
created using the Windows shrinking tool and select next. After that,
88-
installation is pretty straight forward.</p>
89-
<p>Congrats! You now have Ubuntu and Windows at the same time!</p>
90-
<h2 id="Dual-booting_Ubuntu_on_a_Macbook">Dual-booting Ubuntu on a
91-
Macbook</h2>
92-
<p>Dual-booting any Linux distro on a Macbook requires you to get your
93-
hands more dirty. For this tutorial, I'll be referencing this article by
94-
Chris Hoffman on HowToGeek.com on how to do this. The website is <a href=
95-
"https://www.howtogeek.com/187410/how-to-install-and-dual-boot-linux-on-a-mac/">
96-
here</a>.</p>
97-
<p>Before doing anything, make sure that you have full-disk encryption
98-
disabled. Otherwise, you may come across some weird issues when setting up
99-
the necessary tools to start the dual-boot process.</p>
100-
<p>First, you need to install rEFInd onto your Macbook, which allows you to
101-
boot onto many other operating systems installed onto your
102-
machine.</p><a href="https://sourceforge.net/projects/refind/">Download it
103-
here</a>. Select the .zip file of the latest, stable build. Open a terminal
104-
window, drag the install.sh file on to the window, and press enter to begin
105-
the installation process. It may require your password (or admin password
106-
if you are not the admin) to allow this action, so have that handy. Once it
107-
is done, restart your Mac and you should see the boot manager menu.
108-
<p>Next, we need to shrink the existing Mac OS space to make some space for
109-
Ubuntu. This can be achieved by using the Disk Utility tool preinstalled
110-
onto your Mac. Just open the tool and shrink your current storage amount
111-
for the Mac OSX. Although the minimum storage limit for Ubuntu is 5GB, it
112-
is recommended allow storage greater than 5GBs. Most recommend 20GB to
113-
30GB, but it depends on what you want. Just leave adequate amount of room
114-
for OSX is you plan on continuing to add data to your machine. Don't create
115-
a partition, just leave the empty storage alone.</p>
116-
<p>Create your USB creator as usual (software is compatable with Mac).
117-
After creation, simply restart your computer and you will approach the boot
118-
menu for rEFInd. Select the inserted USB stick with the Ubuntu installer
119-
installed to boot into the boot launcher. From there, installation is the
120-
same as what is descibed in the Windows tutorial. After the installation,
121-
your Mac will boot into the same menu at startup always. From there, you
122-
can change between booting into Mac and booting into Ubuntu.</p>
123-
<p>That is all you have to do! You can also follow the article I used (link
124-
at top) to do this tutorial as well.</p>
125-
<h2 id="Dual-booting_Arch_Linux">Dual-booting Arch Linux</h2>
126-
<p>Tutorial for this coming soon. For now, refer to <a href=
127-
"https://wiki.archlinux.org/title/Installation_guide">here</a>,</p>
52+
<ul>
53+
<li>
54+
<a href="windows/">Windows bootstrap</a>
55+
</li>
56+
<li>
57+
<a href="ubuntu/">Ubuntu bootstrap</a>
58+
</li>
59+
<li>
60+
<a href="archlinux/">Arch Linux bootstrap</a>
61+
</li>
62+
<li>
63+
<a href="macos/">macOS bootstrap</a>
64+
</li>
65+
</ul>
12866
<h2 id="The_tools">The tools</h2>
12967
<h3 id="Visual_Studio_Code">Visual Studio Code</h3>
13068
<p>Visual Studio Code is an integrated development environment which makes
@@ -139,7 +77,7 @@ <h3 id="Visual_Studio_Code">Visual Studio Code</h3>
13977
the executable was built successfully.</p>
14078
<h3 id="GCC_compiler">GCC compiler</h3>
14179
<p>This is the compiler gradle or CMake will use to build the programs you
142-
write. MSYS2 provides a Linux-like environment with this compiler.</p>
80+
write.</p>
14381
<h3>CMake</h3>
14482
<p>CMake will be used to build your personal projects. For better
14583
integration with VS Code, download the "CMake Tools" extension under VS
@@ -151,8 +89,8 @@ <h3 id="Gradle">Gradle</h3>
15189
more.</p>
15290
<h3 id="Git">Git</h3>
15391
<p>Git is a version control system used to manage the code you write. See
154-
<a href="../ci/intro-to-git/index.html">Intro to Git</a> for more
155-
information and detailed setup.</p>
92+
<a href="../ci/intro-to-git/">Intro to Git</a> for more information and
93+
detailed setup.</p>
15694
<h3 id="GitHub">GitHub</h3>
15795
<p>GitHub provides web based code review and repository management for the
15896
Git version control system. Our GitHub organization is <a href=
@@ -169,100 +107,6 @@ <h3 id="Formatter">Formatter</h3>
169107
practice to be familiar with the enforced style guide and be able to
170108
write code in that style directly.
171109
</blockquote>
172-
<h2 id="Tools_installation_on_Ubuntu">Tools installation on Ubuntu</h2>
173-
<p>The command blocks below should be run in a terminal, where each line is
174-
entered separately and followed by the Enter key.</p>
175-
<h3>Visual Studio Code</h3>
176-
<p>Follow the installation guide from <a href=
177-
"https://docs.wpilib.org/en/latest/docs/zero-to-robot/step-2/wpilib-setup.html">
178-
WPILib Docs</a>.</p>
179-
<p>To build robot projects in a terminal, run the following command to set
180-
JAVA_HOME in <code>~/.bashrc</code>:</p>
181-
<p><code>echo 'export JAVA_HOME=~/wpilib/2021/jdk' &gt;&gt;
182-
~/.bashrc</code></p>
183-
<h3>GCC</h3><code>sudo apt-get install gcc</code>
184-
<h3>Git</h3><code>sudo apt-get install git</code>
185-
<h3>Formatter</h3>
186-
<pre>
187-
sudo apt-get install clang-format python3-pip
188-
pip3 install --user wpiformat</pre>
189-
<h3>CMake</h3><code>sudo apt-get install cmake</code>
190-
<h2 id="Tools_installation_on_Arch_Linux">Tools installation on Arch
191-
Linux</h2>
192-
<h3>Visual Studio Code</h3>
193-
<p>Follow the installation guide from <a href=
194-
"https://docs.wpilib.org/en/latest/docs/zero-to-robot/step-2/wpilib-setup.html">
195-
WPILib Docs</a>.</p>
196-
<p>To build robot projects in a terminal, run the following command to set
197-
JAVA_HOME in <code>~/.bashrc</code>:</p><code>echo 'export
198-
JAVA_HOME=~/wpilib/2021/jdk' &gt;&gt; ~/.bashrc</code>
199-
<h3>GCC</h3><code>sudo pacman -S gcc</code>
200-
<h3>Git</h3><code>sudo pacman -S git</code>
201-
<h3>Formatter</h3>
202-
<p>This requires a package from the AUR. Use either the manual installation
203-
method (shown below) or an AUR helper.</p>
204-
<pre>
205-
sudo pacman -S python
206-
cd /tmp
207-
git clone https://aur.archlinux.org/python-wpiformat-git
208-
makepkg -si</pre>
209-
<h3 id="CMake">CMake</h3><code>sudo pacman -S cmake</code>
210-
<h2 id="Tools_installation_on_Windows">Tools installation on Windows</h2>
211-
<h3>Visual Studio Code</h3>
212-
<p>Follow the installation guide from <a href=
213-
"https://docs.wpilib.org/en/latest/docs/zero-to-robot/step-2/wpilib-setup.html">
214-
WPILib Docs</a>.</p>
215-
<h3>GCC Compiler</h3>
216-
<ol>
217-
<li>Download the MSYS2 installer from <a href=
218-
"https://www.msys2.org/">here</a> and run it. Use the default
219-
installation directory.
220-
</li>
221-
<li><code>pacman -Syu</code>, then close all terminals when directed to
222-
do so.</li>
223-
<li><code>pacman -Su</code></li>
224-
<li>Add MSYS2 to your system-wide PATH environment variable.
225-
<ul>
226-
<li>32-bit path: "C:\msys32\usr\bin"</li>
227-
<li>64-bit path: "C:\msys64\usr\bin"</li>
228-
</ul>
229-
</li>
230-
<li>Create a desktop shortcut for "MSYS2 MSYS" if desired.</li>
231-
<li><code>pacman -S --needed base-devel gcc</code>, then when prompted
232-
for which packages in the base-devel group to install, press Enter to
233-
select the default option (all of them).</li>
234-
</ol>
235-
<h3>Git</h3><code>pacman -S git</code>
236-
<h3>Formatter</h3>
237-
<p>Download the latest version of LLVM from <a href=
238-
"https://releases.llvm.org/download.html">here</a> under "Pre-Built
239-
Binaries" and run it. The default installation options are fine. Don't
240-
worry if you see the following; it's irrelevant to our use.</p>
241-
<pre>Installing MSVC integration...
242-
Failed to find MSBuild toolsets directory.
243-
MSVC integration install failed.</pre>
244-
<p>MSYS2 keeps a separate PATH environment variable from the operating
245-
system. Run the following command to add the LLVM installation to it.</p>
246-
<p><code>echo 'export PATH=$PATH:/c/Program\ Files/LLVM/bin' &gt;&gt;
247-
~/.bashrc</code></p>
248-
<p>The following commands install Python and pip, then use pip to install
249-
wpiformat.</p>
250-
<pre>
251-
pacman -S python
252-
wget https://bootstrap.pypa.io/get-pip.py
253-
python get-pip.py
254-
pip install wpiformat</pre>
255-
<p>After those commands complete, close and reopen the terminal so the PATH
256-
environment variable change from earlier takes effect.</p>
257-
<h3>CMake</h3>
258-
<p>Download the CMake installer from <a href=
259-
"https://cmake.org/download/">here</a> under "Latest Release". When running
260-
the installer, make sure to add CMake to the PATH environment variable
261-
(either for all users or just one). Any existing terminals will need to be
262-
closed and reopened to receive the PATH update.</p>
263-
<h2>What to do now?</h2>
264-
<p>Once you have setup your computer, you can now learn more about <a href=
265-
"../ci/index.html">programming</a>!</p>
266110
</div>
267111
</body>
268112
</html>

bootstrap/macos/index.html

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5+
<meta name="description" content=
6+
"A page providing the necessary tools to begin programming in C++ on macOS">
7+
<meta name="viewport" content="width=device-width, initial-scale=1">
8+
<title>Developer bootstrap - FRC Team 3512</title>
9+
<link rel="stylesheet" type="text/css" href="../../main.css">
10+
<link rel="shortcut icon" type="image/ico" href="../../favicon.ico">
11+
</head>
12+
<body>
13+
<header id="navbar">
14+
<ul>
15+
<li>
16+
<a href="../../">Home</a>
17+
</li>
18+
<li>
19+
<a href="../../admin/">Admin</a>
20+
</li>
21+
<li>
22+
<a href="../" class="active">Developer Bootstrap</a>
23+
</li>
24+
<li>
25+
<a href="../../vpn/">VPN Setup</a>
26+
</li>
27+
<li>
28+
<a href="../../ci/">Curriculum</a>
29+
</li>
30+
<li>
31+
<a href="../../fll/">FLL</a>
32+
</li>
33+
<li>
34+
<a href="../../archives/">Archives</a>
35+
</li>
36+
</ul>
37+
</header>
38+
<div class="body">
39+
<h1 id="macOS_bootstrap">macOS bootstrap</h1>
40+
<h2 id="Native_setup">Native setup</h2>
41+
<p>TODO</p>
42+
<h2 id="Tools_installation">Tools installation</h2>
43+
<p>TODO: via homebrew</p>
44+
</div>
45+
</body>
46+
</html>

0 commit comments

Comments
 (0)