Gentoo Archives: gentoo-commits

From: "Anthony G. Basile (blueness)" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in xml/htdocs/proj/en/base/mips: yeeloong.xml
Date: Wed, 22 Aug 2012 00:14:29
Message-Id: 20120822001413.B66C3202A9@flycatcher.gentoo.org
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>