1 |
blueness 12/08/22 00:14:13 |
2 |
|
3 |
Added: yeeloong.xml |
4 |
Log: |
5 |
Add Lemote Yeeloong Gentoo Desktop documentation |
6 |
|
7 |
Revision Changes Path |
8 |
1.1 xml/htdocs/proj/en/base/mips/yeeloong.xml |
9 |
|
10 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/base/mips/yeeloong.xml?rev=1.1&view=markup |
11 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/proj/en/base/mips/yeeloong.xml?rev=1.1&content-type=text/plain |
12 |
|
13 |
Index: yeeloong.xml |
14 |
=================================================================== |
15 |
<?xml version="1.0" encoding="UTF-8"?> |
16 |
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
17 |
|
18 |
<guide> |
19 |
<title>Lemote Yeeloong Gentoo Desktop</title> |
20 |
<author title="Author"> |
21 |
<mail link="blueness@g.o">Anthony G. Basile</mail> |
22 |
</author> |
23 |
|
24 |
<abstract> |
25 |
The Lemote Yeeloong Gentoo Desktop aim to provide a ready to install |
26 |
XFCE4 base desktop to the Yeeloong netbook. |
27 |
</abstract> |
28 |
|
29 |
<version>1.0</version> |
30 |
<date>2012-08-19</date> |
31 |
|
32 |
<chapter> |
33 |
<title>Introduction</title> |
34 |
<section> |
35 |
<body> |
36 |
<p> |
37 |
The Lemote Yeeloong netbook is based on a 64-bit little endian MIPS processor, |
38 |
named the loongson2f, and is manufactured by <uri link="http://www.lemote.com/en/"> |
39 |
lemote.com</uri>. It is celebrated as sporting only hardware that respects your |
40 |
freedom, that is, hardware that will run purely with open source software at every |
41 |
level. There are no proprietary binary blobs required to make any hardware work, |
42 |
and even its boot firmware (<uri link="http://www.pmon2000.com/">PMON</uri>) is |
43 |
released under a copyleft licence. As the netbook of choice for Richard Stallman, |
44 |
it is distributed in the United States by <uri link="http://freedomincluded.com/"> |
45 |
Freedom Included</uri>. Take a look at their web site for why the choice of hardware |
46 |
is a political choice and why freedom matters. |
47 |
</p> |
48 |
<p> |
49 |
Th "Lemote Yeeloong Gentoo Desktop" initiative is part of a bigger initiative in Gentoo |
50 |
to support MIPS based systems. We started this because compiling on the Yeeloong is |
51 |
slow enough that it is annoying for the average person to build a useful system from a |
52 |
classical Gentoo stage3 tarball. One could cross compile from a different, faster, |
53 |
architecture; but, that's involved and doesn't always produce the best native code. So, |
54 |
with a prebuilt desktops, we hope to give the end user a quick start to a productive |
55 |
environment that they are (hopefully) mostly happy with. One can always tweak from there. |
56 |
The drawback to this approach is that it does rub against the "Gentoo way" which is to |
57 |
maximize choice, but we still provide a stage3 for those who want --- so choose! |
58 |
</p> |
59 |
<p> |
60 |
Currently the desktop of choice is based on XFCE4. We did not even attemp Gnome |
61 |
or KDE becuase of their bloat, and because much of that software is in a bad state |
62 |
with respect to all MIPS architecture. The bloat, however, was the deciding factor. |
63 |
We can always hack Gnome back into a MIPS friendly state, but on a system with a |
64 |
~600MHz processor with 1GB of RAM, do we really want to follow bloatware development? |
65 |
We may expand into other light desktop systems, like LXDE. Tell us what you want! |
66 |
</p> |
67 |
<p> |
68 |
We are also working with two "flavors" of each desktop, what we call "vanilla" |
69 |
and "hardened". The two are identical in term of what packages they provide, |
70 |
except the hardened image is built using the completely hardened toolchain |
71 |
maintained by the Hardened Gentoo team. The means that all the ELF binaries |
72 |
are ET_DYN (not ET_EXE so their address space is better randomized), have SSP |
73 |
(stack smashing protection against buffer overflows), PIE (position independant |
74 |
executable, also better address space randomization) and FORTIFY_SOURCES=2 |
75 |
(extra hardening of glibc functions). They are also linked relro (relocation |
76 |
read-only) and bind-now to prevent redirection of symbols. |
77 |
</p> |
78 |
<p> |
79 |
Sounds like hardened is a clear winner over vanilla, except that there is a |
80 |
small performance hit. Not anything like i686, but still noticeable. Maybe |
81 |
five to ten percent, but we haven't made a good measure. Also, if you're |
82 |
compiling your own binaries, there may be some exotic breakage with the |
83 |
hardened that you won't get with the vanilla. Again its much rarer than |
84 |
on i686. There, the issue is often poorly written assembly that isn't |
85 |
PIC/PIE friendly, but since you're on a mips64el arch, chances are that |
86 |
that assembly hasn't even been ported, so there's nothing there to break! |
87 |
</p> |
88 |
<p> |
89 |
If you're just an ordinary user, choose hardened. The extra security will |
90 |
outweigh the other factors. |
91 |
</p> |
92 |
<p> |
93 |
We are actively developing and things are in flux --- when it is mature, we |
94 |
will change this paragraph. So, there are some TODOs. But, the most important |
95 |
TODO is you. What should be included and what should not? |
96 |
</p> |
97 |
</body> |
98 |
</section> |
99 |
</chapter> |
100 |
|
101 |
<chapter> |
102 |
<title>Goals</title> |
103 |
<section> |
104 |
<body> |
105 |
<p> |
106 |
The purpose of the "Lemote Yeeloong Gentoo Desktop" initiative is to make |
107 |
ready to install Gentoo based desktops for the Lemote Yeeloong netbook |
108 |
to ease the long process of building a full desktop system from a stage3 |
109 |
tarball. As a secondary goal, it aims to port the hardening toolchains and |
110 |
kernel features currently available in amd64 and x86 to mips architecture. |
111 |
</p> |
112 |
</body> |
113 |
</section> |
114 |
</chapter> |
115 |
|
116 |
<chapter> |
117 |
<title>Installation</title> |
118 |
<section> |
119 |
<body> |
120 |
<p> |
121 |
First, where do you find the images you'll need? Everything you'll need |
122 |
is on the <uri link="http://www.gentoo.org/main/en/mirrors2.xml"> gentoo |
123 |
mirrors </uri>, under experimental/mips/desktop-loongson2f. You'll need two |
124 |
images, the boot image called netboot-yeeloong.img and the desktop image, a simple |
125 |
tarball called desktop-loongson2f-[flavor]-[date].tar.lzma, where the [flavor] |
126 |
is either "hardened" or "vanilla" and [date] is the release date. We'll |
127 |
try to produce a new release every month. As stated above, this is just for |
128 |
XFCE4, but when/if we get more desktops, that will also be make explicit in |
129 |
the image name. |
130 |
</p> |
131 |
<p> |
132 |
So, how do I install it on my Lemote Yeeloong? |
133 |
</p> |
134 |
|
135 |
<ul> |
136 |
<li> |
137 |
Prepare the boot image: Get the file called netboot-yeeloong.img and put |
138 |
it either on a tftp server or a pen drive at some /path/to/. Make sure you |
139 |
prepare the drive with a FAT32, EXT2 or EXT3, but <b>not</b> EXT4 filesystem. |
140 |
PMON doesn't understand EXT4. |
141 |
</li> |
142 |
<li> |
143 |
Boot into a rescue environment: Turn the lemote on and hit the Del key |
144 |
multiple times. You should see a PMON> prompt appear with possibly some |
145 |
trailing garbage characters, usually repeated G's. Backspace over the |
146 |
garbage to delete it. |
147 |
</li> |
148 |
<li> |
149 |
If you are booting off the network with a tftp server, then the enter: |
150 |
<ul> |
151 |
<li>PMON> ifaddr rtl0 [my_ip]</li> |
152 |
<li>PMON> load tftp://[tftp_ip]/path/to/netboot-yeeloong.img</li> |
153 |
<li>PMON> g</li> |
154 |
</ul> |
155 |
Replace [my_ip] with the ip of the lemote yeeloong and [tftp_ip] with the ip of |
156 |
your tftp server. |
157 |
</li> |
158 |
<li> |
159 |
If, however, you want to boot off a pen drive, enter: |
160 |
<ul> |
161 |
<li>PMON> load /dev/fs/ext2@usb0/path/to/netboot-yeeloong.img</li> |
162 |
<li>PMON> g</li> |
163 |
</ul> |
164 |
At this point you'll come up in a ramdisk image with busybox and a few other |
165 |
utilities to get your system ready. Hit enter a couple of times if you don't |
166 |
see a shell prompt right away. |
167 |
</li> |
168 |
<li> |
169 |
Prepare a root partition and mount: |
170 |
<ul> |
171 |
<li>Using fdisk, prepare at least two partitions: |
172 |
<ul> |
173 |
<li>/dev/sda1 - this will be root, give it a generous amount, at least 6GB.</li> |
174 |
<li>/dev/sda2 - this will be swap, give it at least 1GB.</li> |
175 |
</ul> |
176 |
These really are minimal. I use 40GB for root and 4GB for swap. |
177 |
</li> |
178 |
|
179 |
<li>mdev needs to rescan the devices after (re)partioning. You could reboot, |
180 |
but its easier to just do: |
181 |
<ul> |
182 |
<li>mdev -s</li> |
183 |
</ul> |
184 |
</li> |
185 |
|
186 |
<li>Format the partitons: |
187 |
<ul> |
188 |
<li>mkfs.ext3 /dev/sda1 - do not use EXT4 since PMON doesn't understand it</li> |
189 |
<li>mkswap /dev/sda2</li> |
190 |
</ul> |
191 |
</li> |
192 |
|
193 |
<li>Mount it |
194 |
<ul> |
195 |
<li>mkdir -p /mnt/gentoo</li> |
196 |
<li>mount /dev/sda1 /mnt/gentoo</li> |
197 |
</ul> |
198 |
</li> |
199 |
</ul> |
200 |
</li> |
201 |
<li> |
202 |
Download and unpack the tarball images: |
203 |
<ul> |
204 |
<li>cd /mnt/gentoo</li> |
205 |
<li>wget http://[mirror]/gentoo/experimental/mips/desktop-loongson2f/desktop-loongson2f-[flavor]-[date].tar.lzma</li> |
206 |
<li>tar xf desktop-loongson2f-[flavor]-[date].tar.lzma</li> |
207 |
</ul> |
208 |
Replace [mirror] with the FQDN of your favorite Gentoo mirror, replace |
209 |
[flavor] with either "hardened" or "vanilla" and replace [date] with the |
210 |
date of the release. |
211 |
</li> |
212 |
<li> |
213 |
If you changed any of the above values for /dev/sda* then edit the boot.cfg |
214 |
file. It can be found at /mnt/gentoo/boot/boot.cfg. |
215 |
</li> |
216 |
<li> |
217 |
Reboot your yeeloong. PMON should find the kernel, but if it doesn't then enter |
218 |
<ul> |
219 |
<li>PMON> load /dev/fs/ext2@wd0/boot/vmlinuz</li> |
220 |
<li>PMON> g console=tty root=/dev/sda1</li> |
221 |
</ul> |
222 |
</li> |
223 |
<li> |
224 |
Log in and enjoy! |
225 |
<ul> |
226 |
<li>user: gentoo</li> |
227 |
<li>pass: gentoo</li> |
228 |
</ul> |
229 |
or |
230 |
<ul> |
231 |
<li>user: root</li> |
232 |
<li>pass: root</li> |
233 |
</ul> |
234 |
</li> |
235 |
</ul> |
236 |
</body> |
237 |
</section> |
238 |
</chapter> |
239 |
|
240 |
<chapter> |
241 |
<title>Developers</title> |
242 |
<section> |
243 |
<body> |
244 |
<table> |
245 |
<tr> |
246 |
<th>Developer</th> |
247 |
<th>Nickname</th> |
248 |
<th>Role</th> |
249 |
</tr> |
250 |
<tr> |
251 |
<ti>Anthony G. Basile</ti> |
252 |
<ti>blueness</ti> |
253 |
<ti>Lead</ti> |
254 |
</tr> |
255 |
</table> |
256 |
</body> |
257 |
</section> |
258 |
</chapter> |
259 |
|
260 |
<chapter> |
261 |
<title>Bug Reporting</title> |
262 |
<section> |
263 |
<body> |
264 |
<p> |
265 |
Please submit feature requests and bug reports at <uri link="https://bugs.gentoo.org">bugs.gentoo.org</uri> |
266 |
and make your bug a blocker to <uri link="https://bugs.gentoo.org/show_bug.cgi?id=282265">bug #282265</uri>. |
267 |
Assign your bug to mips@g.o. |
268 |
</p> |
269 |
</body> |
270 |
</section> |
271 |
</chapter> |
272 |
</guide> |