| 1 | <?xml version="1.0" encoding="UTF-8"?> |
1 | <?xml version="1.0" encoding="UTF-8"?> |
| 2 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-freebsd.xml,v 1.6 2005/09/21 19:16:21 jkt Exp $ --> |
2 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-freebsd.xml,v 1.7 2005/10/06 15:58:16 jkt Exp $ --> |
| 3 | <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
3 | <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
| 4 | |
4 | |
| 5 | <guide link="/doc/en/gentoo-freebsd.xml"> |
5 | <guide link="/doc/en/gentoo-freebsd.xml"> |
| 6 | <title>A short guide to Gentoo/FreeBSD</title> |
6 | <title>A short guide to Gentoo/FreeBSD</title> |
| 7 | |
7 | |
| 8 | <author title="Author"> |
8 | <author title="Author"> |
| 9 | <mail link="ignacio.arquelatour@gmail.com">Ignacio Arque-Latour</mail> |
9 | <mail link="ignacio.arquelatour@gmail.com">Ignacio Arque-Latour</mail> |
| 10 | </author> |
10 | </author> |
| 11 | <author title="Author"> |
11 | <author title="Author"> |
| 12 | <mail link="citizen428@gentoo.org">Michael Kohl</mail> |
12 | <mail link="citizen428@gentoo.org">Michael Kohl</mail> |
| 13 | </author> |
13 | </author> |
| 14 | <author title="Author"> |
14 | <author title="Author"> |
| 15 | Otavio R. Piske |
15 | Otavio R. Piske |
| 16 | </author> |
16 | </author> |
| 17 | <author title="Author"> |
17 | <author title="Author"> |
| 18 | <mail link="ka0ttic@gentoo.org">Aaron Walker</mail> |
18 | <mail link="ka0ttic@gentoo.org">Aaron Walker</mail> |
| 19 | </author> |
19 | </author> |
| 20 | |
20 | |
| 21 | <abstract> |
21 | <abstract> |
| 22 | This document gives some general information on FreeBSD, as well as |
22 | This document gives some general information on FreeBSD, as well as |
| 23 | installation instructions for Gentoo/FreeBSD. It also includes some reference |
23 | installation instructions for Gentoo/FreeBSD. It also includes some reference |
| 24 | for people interested in helping out with development. |
24 | for people interested in helping out with development. |
| 25 | </abstract> |
25 | </abstract> |
| 26 | |
26 | |
| 27 | <!-- The content of this document is licensed under the CC-BY-SA license --> |
27 | <!-- The content of this document is licensed under the CC-BY-SA license --> |
| 28 | <!-- See http://creativecommons.org/licenses/by-sa/2.5 --> |
28 | <!-- See http://creativecommons.org/licenses/by-sa/2.5 --> |
| 29 | <license/> |
29 | <license/> |
| 30 | |
30 | |
| 31 | <version>1.4</version> |
31 | <version>1.5</version> |
| 32 | <date>2005-09-21</date> |
32 | <date>2005-10-06</date> |
| 33 | |
33 | |
| 34 | <chapter> |
34 | <chapter> |
| 35 | <title>Introduction to FreeBSD</title> |
35 | <title>Introduction to FreeBSD</title> |
| 36 | <section> |
36 | <section> |
| 37 | <title>What is FreeBSD?</title> |
37 | <title>What is FreeBSD?</title> |
| 38 | <body> |
38 | <body> |
| 39 | |
39 | |
| 40 | <p> |
40 | <p> |
| 41 | <uri link="http://www.freebsd.org/">FreeBSD</uri> is a free (<uri |
41 | <uri link="http://www.freebsd.org/">FreeBSD</uri> is a free (<uri |
| 42 | link="http://www.freebsd.org/copyright/freebsd-license.html">license</uri>) |
42 | link="http://www.freebsd.org/copyright/freebsd-license.html">license</uri>) |
| 43 | Unix-like operating system. Back in 1993 when development of <uri |
43 | Unix-like operating system. Back in 1993 when development of <uri |
| 44 | link="http://www.386bsd.org/">386BSD</uri> stopped, two projects were born: |
44 | link="http://www.386bsd.org/">386BSD</uri> stopped, two projects were born: |
| 45 | <uri link="http://www.netbsd.org/">NetBSD</uri>, commonly known to run on a |
45 | <uri link="http://www.netbsd.org/">NetBSD</uri>, commonly known to run on a |
| 46 | huge number of architetures, and FreeBSD which focuses mainly on the x86 |
46 | huge number of architetures, and FreeBSD which focuses mainly on the x86 |
| 47 | platform. FreeBSD is renowned for its stability, performance and security, thus |
47 | platform. FreeBSD is renowned for its stability, performance and security, thus |
| … | |
… | |
| 153 | </p> |
153 | </p> |
| 154 | |
154 | |
| 155 | <pre caption="Creating a mount point and mounting partitions"> |
155 | <pre caption="Creating a mount point and mounting partitions"> |
| 156 | # <i>mkdir /mnt/gfbsd</i> |
156 | # <i>mkdir /mnt/gfbsd</i> |
| 157 | <comment>(Replace X with the correct numbers for your hard disk.)</comment> |
157 | <comment>(Replace X with the correct numbers for your hard disk.)</comment> |
| 158 | # <i>mount /dev/adXsXa /mnt/gfbsd</i> |
158 | # <i>mount /dev/adXsXa /mnt/gfbsd</i> |
| 159 | </pre> |
159 | </pre> |
| 160 | |
160 | |
| 161 | <p> |
161 | <p> |
| 162 | Now that you have mounted the target partition, it is time to fetch and unpack |
162 | Now that you have mounted the target partition, it is time to fetch and unpack |
| 163 | a stage3 tarball. |
163 | a stage3 tarball. |
| 164 | </p> |
164 | </p> |
| 165 | |
165 | |
| 166 | <pre caption="Obtaining and unpacking a stage3 tarball"> |
166 | <pre caption="Obtaining and unpacking a stage3 tarball"> |
| 167 | <comment>(Any other Gentoo mirror which includes the experimental/ directory will also work.)</comment> |
167 | <comment>(Any other Gentoo mirror which includes the experimental/ directory will also work.)</comment> |
| 168 | # <i>wget http://gentoo.osuosl.org/experimental/x86/freebsd/stage3-x86-fbsd-20050811.tar.bz2</i> |
168 | # <i>wget http://gentoo.osuosl.org/experimental/x86/freebsd/stage3-x86-fbsd-20051005.tar.bz2</i> |
| 169 | # <i>cp stage3-x86-fbsd-20050811.tar.bz2 /mnt/gfbsd/</i> |
169 | # <i>cp stage3-x86-fbsd-20051005.tar.bz2 /mnt/gfbsd/</i> |
| 170 | # <i>cd /mnt/gfbsd/</i> |
170 | # <i>cd /mnt/gfbsd/</i> |
| 171 | # <i>tar -jxvpf stage3-x86-fbsd-20050811.tar.bz2</i> |
171 | # <i>tar -jxvpf stage3-x86-fbsd-20051005.tar.bz2</i> |
| 172 | <comment>(You can delete the tarball with the following command if you want to.)</comment> |
172 | <comment>(You can delete the tarball with the following command if you want to.)</comment> |
| 173 | # <i>rm stage3-x86-fbsd-20050811.tar.bz2</i> |
173 | # <i>rm stage3-x86-fbsd-20051005.tar.bz2</i> |
| 174 | <comment>(Create a home directory for root.)</comment> |
174 | <comment>(Create a home directory for root.)</comment> |
| 175 | # <i>mkdir /mnt/gfbsd/root</i> |
175 | # <i>mkdir /mnt/gfbsd/root</i> |
| 176 | </pre> |
176 | </pre> |
| 177 | |
177 | |
| 178 | <p> |
178 | <p> |
| 179 | Before chrooting into the newly-extracted stage, you first must obtain a copy of |
179 | Before chrooting into the newly-extracted stage, you first must obtain an up-to-date |
| 180 | the Gentoo/FreeBSD overlay. If you are not a Gentoo developer, you can get it |
180 | copy of the Gentoo/FreeBSD overlay. The easiest way to achieve this is to to get our latest |
| 181 | from the mirror provided by <mail link="carpaski@gentoo.org">Nick Jones</mail>. |
181 | snapshot which you than extract to <path>/usr/local/portage</path>. |
| 182 | Theoretically, you could put this overlay in any directory you like, but from |
|
|
| 183 | now on we will just assume that you have downloaded it to |
|
|
| 184 | <path>/usr/local/portage/gentoo-freebsd</path>. |
|
|
| 185 | </p> |
182 | </p> |
| 186 | |
183 | |
| 187 | <pre caption="Getting the Gentoo/FreeBSD portage overlay"> |
184 | <pre caption="Getting the Gentoo/FreeBSD portage overlay"> |
| 188 | # <i>cvs -d:pserver:anonymous@zarquon.twobit.net:/var/cvsroot -q -z9 co -R gentoo-projects/bsd/fbsd/</i> |
185 | # <i>cd /usr/local/portage</i> |
|
|
186 | # <i>wget http://gentoo.osuosl.org/experimental/snapshots/portage-alt-overlay-latest.tar.bz2</i> |
|
|
187 | # <i>tar -xjf portage-alt-overlay-latest.tar.bz2</i> |
|
|
188 | </pre> |
|
|
189 | |
|
|
190 | <p> |
|
|
191 | Alternatively, you can also use Subversion to check out the current version of the overlay. |
|
|
192 | If you are interested in this possibility, please refer to the <uri |
|
|
193 | link="http://www.gentoo.org/proj/en/gentoo-alt/overlay.xml">Gentoo/ALT overlay |
|
|
194 | documentation</uri>. |
| 189 | </pre> |
195 | </p> |
| 190 | |
196 | |
| 191 | <p> |
197 | <p> |
| 192 | In order for your install to work, you need to mount the <path>/dev</path> |
198 | In order for your install to work, you need to mount the <path>/dev</path> |
| 193 | filesystem from the currently running system into the Gentoo/FreeBSD mount |
199 | filesystem from the currently running system into the Gentoo/FreeBSD mount |
| 194 | point before proceeding with the chroot. |
200 | point before proceeding with the chroot. |
| 195 | </p> |
201 | </p> |
| 196 | |
202 | |
| 197 | <pre caption="Mounting the /dev filesystem and chrooting"> |
203 | <pre caption="Mounting the /dev filesystem and chrooting"> |
| 198 | # <i>mount -t devfs none /mnt/gfbsd/dev/</i> |
204 | # <i>mount -t devfs none /mnt/gfbsd/dev/</i> |
| 199 | # <i>chroot /mnt/gfbsd/ /bin/bash</i> |
205 | # <i>chroot /mnt/gfbsd/ /bin/bash</i> |
|
|
206 | # <i>source /etc/profile</i> |
| 200 | </pre> |
207 | </pre> |
| 201 | |
208 | |
| 202 | <p> |
209 | <p> |
| 203 | After you got hold of the Gentoo/FreeBSD overlay, it's time to link |
210 | After you got hold of the Gentoo/FreeBSD overlay, it's time to link |
| 204 | <path>/etc/make.profile</path> to the correct profile and add get your |
211 | <path>/etc/make.profile</path> to the correct profile and add get your |
| 205 | <path>/etc/make.conf</path> ready for Gentoo/FreeBSD. |
212 | <path>/etc/make.conf</path> ready for Gentoo/FreeBSD. |
| 206 | </p> |
213 | </p> |
| 207 | |
214 | |
| 208 | <pre caption="Setting up the profile and editing /etc/make.conf"> |
215 | <pre caption="Setting up the profile and editing /etc/make.conf"> |
| 209 | # <i>ln -sf /usr/local/portage/gentoo-freebsd/profiles/default-bsd/fbsd/5.4/x86/ /etc/make.profile</i> |
216 | # <i>ln -sf /usr/local/portage/portage-alt-overlay/profiles/default-bsd/fbsd/5.4/x86/ /etc/make.profile</i> |
| 210 | <comment>(FreeBSD's standard editor is ee, which is used to edit /etc/make.conf)</comment> |
217 | <comment>(FreeBSD's standard editor is ee, which is used to edit /etc/make.conf)</comment> |
| 211 | # <i>ee /etc/make.conf</i> |
218 | # <i>ee /etc/make.conf</i> |
| 212 | <comment>(Please make sure you add at least the following entries:)</comment> |
219 | <comment>(Please make sure you add at least the following entries:)</comment> |
| 213 | CHOST="i686-gentoo-freebsd5.4" |
220 | CHOST="i686-gentoo-freebsd5.4" |
| 214 | ACCEPT_KEYWORDS="~x86-fbsd ~x86" |
221 | ACCEPT_KEYWORDS="~x86-fbsd ~x86" |
| 215 | FEATURES="-sandbox collision-protect" |
222 | FEATURES="-sandbox collision-protect" |
| 216 | PORTDIR_OVERLAY="/usr/local/portage/gentoo-freebsd" |
223 | PORTDIR_OVERLAY="/usr/local/portage/portage-alt-overlay" |
| 217 | </pre> |
224 | </pre> |
| 218 | |
225 | |
| 219 | <p> |
226 | <p> |
| 220 | Now, you have to obtain a copy of the main Gentoo Portage tree, which depending |
227 | Now, you have to obtain a copy of the main Gentoo Portage tree, which depending |
| 221 | on your connection might take quite a while. |
228 | on your connection might take quite a while. |
| 222 | </p> |
229 | </p> |
| 223 | |
230 | |
| 224 | <pre caption="Obtaining the portage tree"> |
231 | <pre caption="Obtaining the portage tree"> |
| 225 | # <i>emerge --sync</i> |
232 | # <i>emerge --sync</i> |
| 226 | </pre> |
233 | </pre> |
| 227 | |
|
|
| 228 | <p> |
|
|
| 229 | After you have synchronised your Portage tree, you only have to take a few last |
|
|
| 230 | steps before your Gentoo/FreeBSD system is ready to use. |
|
|
| 231 | </p> |
|
|
| 232 | |
|
|
| 233 | <pre caption="Final configuration"> |
|
|
| 234 | <comment>(Prevent crt1.o from getting removed by emerging gcc.)</comment> |
|
|
| 235 | # <i>chflags schg /usr/lib/crt1.o</i> |
|
|
| 236 | <comment>(Update the binutils installed by the stage3 tarball.)</comment> |
|
|
| 237 | # <i>emerge -u binutils</i> |
|
|
| 238 | <comment>(Select the correct gcc.)</comment> |
|
|
| 239 | # <i>gcc-config 1</i> |
|
|
| 240 | # <i>source /etc/profile</i> |
|
|
| 241 | <comment>(Start the following script to fix a current bug in the stage3.)</comment> |
|
|
| 242 | # <i>/usr/local/portage/gentoo-freebsd/scripts/domove.sh</i> |
|
|
| 243 | <comment>(Re-emerge python, portage and py-freebsd.)</comment> |
|
|
| 244 | # <i>emerge --nodeps python portage py-freebsd</i> |
|
|
| 245 | </pre> |
|
|
| 246 | |
|
|
| 247 | <note> |
|
|
| 248 | After gcc-config you will notice a message about GCC-SPECS which you can safely |
|
|
| 249 | ignore. |
|
|
| 250 | </note> |
|
|
| 251 | |
234 | |
| 252 | <p> |
235 | <p> |
| 253 | Congratulations, by the time you have reached this step you should have a |
236 | Congratulations, by the time you have reached this step you should have a |
| 254 | running Gentoo/FreeBSD system! If you want, you can now rebuild the system's |
237 | running Gentoo/FreeBSD system! If you want, you can now rebuild the system's |
| 255 | core packages. |
238 | core packages. |
| 256 | </p> |
239 | </p> |
| 257 | |
240 | |
| 258 | <pre caption="Rebuilding the FreeBSD core packages"> |
241 | <pre caption="Rebuilding the FreeBSD core packages"> |
| 259 | # <i>emerge -e system</i> |
242 | # <i>emerge -e system</i> |
| 260 | </pre> |
243 | </pre> |
| 261 | |
244 | |
| 262 | <impo> |
245 | <impo> |
| 263 | Please make absolutely sure you add your new Gentoo/FreeBSD installation to the |
246 | Please make absolutely sure you add your new Gentoo/FreeBSD installation to the |
| 264 | configuration of your bootloader, otherwise you won't be able to boot your newly |
247 | configuration of your bootloader, otherwise you won't be able to boot your newly |
| 265 | installed system! If you don't have another bootloader installed, you should use |
248 | installed system! If you don't have another bootloader installed, you should use |
| … | |
… | |
| 410 | <title>Known issues</title> |
393 | <title>Known issues</title> |
| 411 | <body> |
394 | <body> |
| 412 | |
395 | |
| 413 | <p> |
396 | <p> |
| 414 | At the moment, there are still quite a lot of known issues. Here are the ones |
397 | At the moment, there are still quite a lot of known issues. Here are the ones |
| 415 | really worth noting: |
398 | really worth noting: |
| 416 | </p> |
399 | </p> |
| 417 | |
400 | |
| 418 | <ul> |
401 | <ul> |
| 419 | <li> |
402 | <li> |
| 420 | Some init scripts depend on the clock service which we don't provide right |
403 | Some init scripts depend on the clock service which we don't provide right |
| 421 | now. You can just remove it from the dependencies of the script and report |
404 | now. You can just remove it from the dependencies of the script and report |
| 422 | that on our <uri link="http://bugs.gentoo.org/">bugzilla</uri>. Please |
405 | that on our <uri link="http://bugs.gentoo.org/">bugzilla</uri>. Please |
| 423 | remember to use the "Gentoo BSD" product for your submission. |
406 | remember to use the "Gentoo BSD" product for your submission. |
| 424 | </li> |
407 | </li> |
| 425 | <li> |
|
|
| 426 | Some ebuilds have hardcoded -ldl flags to link against libdl to get |
|
|
| 427 | <c>dlopen()</c>. This needs to be fixed (for further information, please |
|
|
| 428 | consult our <uri link="/proj/en/gentoo-alt/bsd/maintnotes.xml#doc_chap3"> |
|
|
| 429 | our Gentoo/*BSD Technotes Guide</uri>. |
|
|
| 430 | </li> |
|
|
| 431 | <li>glib and gnome in general need a lot of fixes to be backported.</li> |
408 | <li>glib and gnome in general need a lot of fixes to be backported.</li> |
| 432 | </ul> |
409 | </ul> |
| 433 | |
410 | |
| 434 | </body> |
411 | </body> |
| 435 | </section> |
412 | </section> |
| 436 | </chapter> |
413 | </chapter> |
| 437 | |
414 | |
| 438 | <chapter> |
415 | <chapter> |
| 439 | <title>Contact</title> |
416 | <title>Contact</title> |
| 440 | <section> |
417 | <section> |
| 441 | <body> |
418 | <body> |
| 442 | |
419 | |
| 443 | <p> |
420 | <p> |
| 444 | A list of Gentoo/FreeBSD developers can be found at the <uri |
421 | A list of Gentoo/FreeBSD developers can be found at the <uri |
| 445 | link="/proj/en/gentoo-alt/bsd/fbsd/">project page</uri>. Other ways to contact |
422 | link="/proj/en/gentoo-alt/bsd/fbsd/">project page</uri>. Other ways to contact |