/[gentoo]/xml/htdocs/doc/en/gentoo-freebsd.xml
Gentoo

Contents of /xml/htdocs/doc/en/gentoo-freebsd.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.34 - (show annotations) (download) (as text)
Sun Aug 8 18:09:43 2010 UTC (4 years ago) by nightmorph
Branch: MAIN
Changes since 1.33: +5 -5 lines
File MIME type: application/xml
fix broken link to fbsd core team page

1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/gentoo-freebsd.xml,v 1.33 2009/04/22 20:14:37 nightmorph Exp $ -->
4
5 <guide>
6 <title>A short guide to Gentoo/FreeBSD</title>
7
8 <author title="Author">
9 <mail link="ignacio.arquelatour@gmail.com">Ignacio Arque-Latour</mail>
10 </author>
11 <author title="Author">
12 <mail link="citizen428@gentoo.org">Michael Kohl</mail>
13 </author>
14 <author title="Author">
15 <mail link="angusyoung@gentoo.org">Otavio R. Piske</mail>
16 </author>
17 <author title="Author">
18 <mail link="ka0ttic@gentoo.org">Aaron Walker</mail>
19 </author>
20 <author title="Author">
21 <mail link="chriswhite@gentoo.org">Chris White</mail>
22 </author>
23 <author title="Contributor">
24 <mail link="flameeyes@gentoo.org">Diego Pettenò</mail>
25 </author>
26 <author title="Editor">
27 <mail link="nightmorph@gentoo.org">Joshua Saddler</mail>
28 </author>
29 <author title="Editor">
30 <mail link="cam@gentoo.org">Camille Huot</mail>
31 </author>
32
33 <abstract>
34 This document gives some general information on FreeBSD, as well as
35 installation instructions for Gentoo/FreeBSD. It also includes some reference
36 for people interested in helping out with development.
37 </abstract>
38
39 <!-- The content of this document is licensed under the CC-BY-SA license -->
40 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
41 <license/>
42
43 <version>3</version>
44 <date>2010-08-08</date>
45
46 <chapter>
47 <title>Introduction to FreeBSD</title>
48 <section>
49 <title>What is FreeBSD?</title>
50 <body>
51
52 <p>
53 <uri link="http://www.freebsd.org/">FreeBSD</uri> is a free (<uri
54 link="http://www.freebsd.org/copyright/freebsd-license.html">license</uri>)
55 Unix-like operating system. Back in 1993 when development of <uri
56 link="http://www.386bsd.org/">386BSD</uri> stopped, two projects were born:
57 <uri link="http://www.netbsd.org/">NetBSD</uri>, commonly known to run on a
58 huge number of architectures, and FreeBSD which supports the x86, amd64, ia64,
59 sparc64 and alpha platforms. FreeBSD is renowned for its stability, performance
60 and security, thus being used from small to huge companies all over the world.
61 </p>
62
63 <p>
64 FreeBSD's current production release is version 7.1. Gentoo/FreeBSD is based on
65 version 6.2 and older versions of Gentoo/FreeBSD are discontinued and no
66 longer supported.
67 </p>
68
69 </body>
70 </section>
71 <section>
72 <title>What is Gentoo/FreeBSD?</title>
73 <body>
74
75 <p>
76 <uri link="/proj/en/gentoo-alt/bsd/fbsd/">Gentoo/FreeBSD</uri> is a subproject
77 of the <uri link="/proj/en/gentoo-alt/">Gentoo/Alt project</uri>, with the
78 goal of providing a fully-capable FreeBSD operating system featuring design
79 sensibilities taken from Gentoo Linux, such as the init system and the Portage
80 package management system.
81 </p>
82
83 </body>
84 </section>
85 <section>
86 <title>FreeBSD and Linux</title>
87 <body>
88
89 <p>
90 Users migrating from Linux to FreeBSD commonly consider the two operating
91 systems "almost the same". In fact, FreeBSD really shares a lot of similarities
92 with Linux distributions in general. Nevertheless, it has some key differences
93 that are worth noting:
94 </p>
95
96 <ul>
97 <li>
98 Contrary to Linux, which actually only refers to the kernel, FreeBSD is a
99 complete operating system, consisting of a C library, userland tools and
100 much more. This development approach makes the overall system very
101 consistent.
102 </li>
103 <li>
104 Contrary to the Linux kernel, FreeBSD development is not led by one person,
105 but instead managed by a small group of people called the <uri
106 link="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributors/staff-committers.html">Core
107 Team</uri>.
108 </li>
109 </ul>
110
111 <p>
112 Besides, FreeBSD also has some technical differences which set it apart
113 from Linux. Some of them are very important to know, even if you don't plan on
114 joining the Gentoo/FreeBSD development effort:
115 </p>
116
117 <ul>
118 <li>
119 To get run-time dynamic linking functions like <c>dlopen()</c>, programs do
120 not need to be linked against libdl like on GNU/Linux. Instead they are
121 linked against libc.
122 </li>
123 <li>
124 FreeBSD doesn't have an official tool for kernel compilation, thus you'll
125 have to resolve feature dependencies on your own.
126 </li>
127 <li>
128 FreeBSD uses UFS/UFS-2 as its filesystems and has no official support for
129 e.g. ReiserFS or XFS. However, there are projects for adding read-only
130 support for these filesystems. Accessing ext2/ext3 partitions is already
131 possible, but you cannot install your system on them.
132 </li>
133 </ul>
134
135 </body>
136 </section>
137 </chapter>
138
139 <chapter>
140 <title>Installing Gentoo/FreeBSD</title>
141 <section>
142 <title>Booting the CD</title>
143 <body>
144
145 <p>
146 After this short introduction, it's about time to finally install
147 Gentoo/FreeBSD. Unfortunately, we currently lack our own installation media, so
148 you have to choose between two alternative installation methods. The first
149 would be to use an existing FreeBSD installation to partition your hard drive
150 and use it as a base for installing Gentoo/FreeBSD. This guide will describe how
151 to use the <uri link="http://www.freesbie.org/">FreeSBIE LiveCD</uri> as
152 an installation medium for Gentoo/FreeBSD.
153 </p>
154
155 <note>
156 If you are intending to use FreeSBIE for installing Gentoo/FreeBSD, please make
157 sure to use a version based on FreeBSD 6.x, such as FreeSBIE 2.0 (or one of its
158 release candidates). You can download it from <uri
159 link="http://torrent.freesbie.org/">FreeSBIE's Bittorrent tracker</uri>.
160 </note>
161
162 <p>
163 First, boot the CD in order to begin the installation process. You'll be
164 presented with a login screen. The username is <c>freesbie</c>, and there is
165 no password. Next, run <c>sudo su</c> to become root, and optionally setup a
166 password. If you want to pass time during the installation process, you can run
167 <c>startx</c> to enter into an Xfce environment, suitable for web browsing,
168 AIM, and other things. Unlike Linux, FreeBSD bases the name of your interface
169 on the driver for the interface. For example, the Intel EtherExpress driver
170 (fxp) appears as fxp0 (driver fxp, first network card). To see what your
171 interface is, use <c>ifconfig</c>:
172 </p>
173
174 <pre caption="Finding out the network interface name using ifconfig">
175 # <i>ifconfig</i>
176 fxp0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
177 options=8&lt;VLAN_MTU&gt;
178 inet6 fe80::2d0::b7ff:febc:4fe3%fxp0 prefixlen 64 scopeid 0x1
179 inet 192.168.0.106 netmask 0xffffff00 broadcast 192.168.0.255
180 ether 00:d0:b7:bc:4f:e3
181 media: Ethernet autoselect (100baseTX &lt;full-duplex&gt;)
182 status: active
183 lo0: flags=8007&lt;LOOPBACK,MULTICAST&gt; mtu 16384
184 </pre>
185
186 <p>
187 If the original DHCP request during the CD bootup failed, you can use the
188 <c>dhclient</c> command to obtain an IP:
189 </p>
190
191 <pre caption="Obtaining a DHCP address using dhclient">
192 # <i>dhclient fxp0</i>
193 DHCPDISCOVER on fxp0 to 255.255.255.255 port 67 interval 9
194 DHCPOFFER from 192.168.0.1
195 DHCPREQUEST on fxp0 to 255.255.255.255 port 67
196 DHCPACK from 192.168.0.1
197 bound to 192.168.0.106 -- renewal in 302400 seconds
198 </pre>
199
200 <note>
201 The output presented here will differ based on your network.
202 </note>
203
204 </body>
205 </section>
206 <section>
207 <title>Partitioning the Drive</title>
208 <body>
209
210 <p>
211 Now that we have a mount point, it's time to partition the drive. This is done
212 with the <c>sysinstall</c> command:
213 </p>
214
215 <pre caption="Running the sysinstall command to fdisk the drive">
216 # <i>sysinstall diskPartitionEditor diskPartitionWrite</i>
217 </pre>
218
219 <p>
220 We recommend that you use the default layout. Press enter at the dialog, then
221 press <b>a</b> followed by <b>q</b> to accept the default layout. The next
222 screen will present you with the option of a bootloader. For this option,
223 choose "None" as we'll be installing the bootloader later on. Next comes the
224 actual partition sizing and mount points.
225 </p>
226
227 <p>
228 This next step also uses <c>sysinstall</c>, but with different arguments:
229 </p>
230
231 <pre caption="Running sysinstall to setup partition sizing and mount points">
232 # <i>sysinstall diskLabelEditor diskLabelCommit</i>
233 </pre>
234
235 <p>
236 Here, we'll refrain from using the automatic layout, and create one giant root
237 partition, followed by a swap partition. Hit <b>c</b> to create a new
238 partition. A dialog prompts you to enter a size. Go ahead and do so, using
239 MB/GB for setting different sizes, or C for cylinders. For root, choose FS as
240 the partition type, and set the mount point as <path>/mnt/</path>. <e>If
241 you do not adjust the mount point, it will overwrite the FreeSBIE
242 environment!</e> As <path>/boot</path> is not a separate partition, you'll
243 need to disable soft-updates, or your system will not boot! To do so, use the
244 arrow keys to navigate to your newly created partition, then hit the <b>s</b>
245 key, until "Newfs" contains no <b>+S</b>. Now navigate the arrow keys until
246 the "Disk" line is highlighted, and hit <b>c</b> again to create a swap
247 partition. Generally, we recommend a swap space that is twice the size of your
248 RAM. Choose SWAP as the partition type, and don't worry about soft-updates, as
249 it does not apply to swap. Now we're finished, so hit <b>q</b> to finish the
250 process.
251 </p>
252
253 <p>
254 When choosing a different mountpoint than <path>/</path> for your partition,
255 <c>sysinstall</c> will actually create a 'd' slice, which the bootloader won't
256 boot from. To fix this, run the following:
257 </p>
258
259 <note>
260 Please, make sure ad0s1 is unmounted before running the following command,
261 otherwise it will not work.
262 </note>
263
264 <pre caption="Fixing the root partition letter">
265 # <i>disklabel ad0s1 | sed 's/^ d:/ a:/' | disklabel -R ad0s1 /dev/stdin</i>
266 </pre>
267
268 <p>
269 This will finalize the partitioning process, and format the drive in UFS for
270 FreeBSD to utilize. This will also mount the drive for you at the mount point
271 specified earlier (<path>/mnt/</path>). You can verify this worked by
272 running <c>mount</c>:
273 </p>
274
275 <pre caption="Verifying the new disk layout was mounted with mount">
276 # <i>mount</i>
277 ...
278 /dev/ad0s1a on /mnt (ufs, local)
279 </pre>
280
281 <p>
282 Now that you have mounted the target partition, it is time to start on the
283 Gentoo setup.
284 </p>
285
286 </body>
287 </section>
288 <section>
289 <title>Gentoo Setup</title>
290 <body>
291
292 <p>
293 First, we need to download a stage3 tarball and unpack it into the chroot.
294 Point your browser to
295 <uri>http://distfiles.gentoo.org/experimental/x86/freebsd/stages/</uri>, grab the
296 latest snapshot, and unpack it into the mountpoint:
297 </p>
298
299 <pre caption="Obtaining and unpacking a stage3 tarball">
300 # <i>cd /mnt/</i>
301 <comment>(Any other Gentoo mirror which includes the experimental/ directory will also work.)</comment>
302 # <i>wget http://distfiles.gentoo.org/experimental/x86/freebsd/stages/stage3-x86-freebsd-6.2-r1.tar.bz2</i>
303 # <i>tar -jxvpf stage3-x86-freebsd-6.2-r1.tar.bz2</i>
304 <comment>(You can delete the tarball with the following command if you want to.)</comment>
305 # <i>rm stage3-x86-freebsd-6.2-r1.tar.bz2</i>
306 </pre>
307
308 <note>
309 If you want you can use the transition overlay that contains semi-experimental
310 ebuilds with patches not yet in the main Portage tree, but does allow a wider
311 range of supported packages, please refer to the <uri
312 link="/proj/en/gentoo-alt/contribute/index.xml?part=1&amp;chap=3">Gentoo/ALT
313 overlay documentation</uri>. Please note that the overlay is not critical and
314 you can easily install and use Gentoo/FreeBSD without it.
315 </note>
316
317 <p>
318 In order for your install to work, you need to mount the <path>/dev</path>
319 filesystem from the currently running system into the Gentoo/FreeBSD mount
320 point before proceeding with the chroot.
321 </p>
322
323 <pre caption="Mounting the /dev filesystem and chrooting">
324 # <i>mount -t devfs none /mnt/dev/</i>
325 # <i>cp /etc/resolv.conf /mnt/etc/</i>
326 # <i>chroot /mnt/ /bin/bash</i>
327 # <i>env-update &amp;&amp; source /etc/profile</i>
328 </pre>
329
330 <p>
331 After you obtain the Gentoo/FreeBSD overlay, it's time to link
332 <path>/etc/make.profile</path> to the correct profile and get your
333 <path>/etc/make.conf</path> ready for Gentoo/FreeBSD.
334 </p>
335
336 <p>
337 Now, you have to obtain a copy of the main Gentoo Portage tree, which depending
338 on your connection might take quite a while.
339 </p>
340
341 <pre caption="Obtaining the Portage tree">
342 # <i>emerge --sync</i>
343 <comment>(It's also possible to retrieve the Portage tree in another way:)</comment>
344 # <i>cd /</i>
345 # <i>wget http://distfiles.gentoo.org/snapshots/portage-latest.tar.bz2</i>
346 # <i>tar -xjf portage-latest.tar.bz2 -C /usr/</i>
347 # <i>emerge --metadata</i>
348 </pre>
349
350 <pre caption="Setting up the profile and editing /etc/make.conf">
351 # <i>ln -sf /usr/portage/profiles/default-bsd/fbsd/6.2/x86/ /etc/make.profile</i>
352 # <i>nano /etc/make.conf</i>
353 <comment>(Please make sure you add at least the following entries:)</comment>
354 CHOST="i686-gentoo-freebsd6.2"
355 FEATURES="collision-protect"
356 </pre>
357
358 <note>
359 The <c>~x86-fbsd</c> keyword does not yet fully cover the same tree as
360 <c>~x86</c>, but please <e>do not</e> put <c>~x86</c> in ACCEPT_KEYWORDS. Rather
361 use <path>/etc/portage/package.keywords</path> to test packages, and report
362 working packages on <uri
363 link="http://bugs.gentoo.org/enter_bug.cgi?product=Gentoo%2FAlt">Bugzilla</uri>.
364 </note>
365
366 <p>
367 If you want, you can now rebuild the system's core packages.
368 </p>
369
370 <pre caption="Rebuilding the FreeBSD core packages (optional)">
371 # <i>emerge -e system</i>
372 </pre>
373
374 </body>
375 </section>
376 </chapter>
377 <chapter>
378 <title>Setting up for Booting</title>
379 <section>
380 <title>Set your time zone</title>
381 <body>
382
383 <p>
384 First make sure your date and time is set correctly using <c>date
385 yyyymmddHHMM</c>. Use UTC time.
386 </p>
387
388 <pre caption="Set the date and UTC time">
389 <comment>(Check the clock)</comment>
390 # <i>date</i>
391 Mon Mar 6 00:14:13 UTC 2006
392
393 <comment>(Set the current date and time if required)</comment>
394 # <i>date 200603060016</i> <comment>(Format is yyyymmddHHMM)</comment>
395 Mon Mar 6 00:16:00 UTC 2006
396 </pre>
397
398 <p>
399 Next, set your time zone information by using the correct listing in
400 <path>/usr/share/zoneinfo</path>.
401 </p>
402
403 <pre caption="Setting your timezone">
404 # <i>ls /usr/share/zoneinfo</i>
405 <comment>(Using Brussels as an example)</comment>
406 # <i>cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime</i>
407
408 # <i>date</i>
409 Wed Mar 8 00:46:05 CET 2006
410 </pre>
411
412 <p>
413 Edit <path>/etc/conf.d/clock</path> to define the time zone you used
414 previously.
415 </p>
416
417 <pre caption="Edit /etc/conf.d/clock">
418 # <i>nano -w /etc/conf.d/clock</i>
419 TIMEZONE="Europe/Brussels"
420 </pre>
421
422 </body>
423 </section>
424 <section>
425 <title>Kernel Installation</title>
426 <body>
427
428 <p>
429 If you ran <c>emerge -e system</c>, the sources for the FreeBSD kernel were
430 installed to <path>/usr/src/sys</path>. If you skipped this step, you can get
431 them in the following way:
432 </p>
433
434 <pre caption="Getting the FreeBSD kernel sources">
435 # <i>emerge freebsd-sources</i>
436 </pre>
437
438 <p>
439 Configuring and compiling a custom kernel is quite different from compiling
440 Linux, so if you are not familiar with the process we encourage you to have a
441 look at <uri
442 link="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html">
443 chapter 8</uri> of the FreeBSD handbook. For now, you can do an installation of
444 the GENERIC kernel, which works on most systems. To begin, enter the source
445 directory for the kernel:
446 </p>
447
448 <impo>
449 Please note that currently only the "Traditional" way of building the kernel is
450 supported on Gentoo/FreeBSD!
451 </impo>
452
453 <pre caption="Entering the kernel source directory">
454 # <i>cd /usr/src/sys/</i>
455 </pre>
456
457 <p>
458 Looking over the layout, you'll see various architectures and subdirectories
459 for various parts of the kernel. To begin the installation, we head into the
460 <path>i386/conf/</path> directory:
461 </p>
462
463 <pre caption="The kernel configuration directory">
464 # <i>cd i386/conf/</i>
465 # <i>ls</i>
466 .cvsignore GENERIC Makefile PAE
467 DEFAULTS GENERIC.hints NOTES SMP
468 </pre>
469
470 <p>
471 The main files to note are <path>GENERIC</path> and <path>GENERIC.hints</path>.
472 As it will be needed by the installation of the kernel, go ahead and copy
473 <path>GENERIC.hints</path> file to <path>/boot/device.hints</path>:
474 </p>
475
476 <pre caption="Copying over the GENERIC.hints file">
477 # <i>cp GENERIC.hints /boot/device.hints</i>
478 </pre>
479
480 <p>
481 This file is used by the kernel drivers for basic configuration information
482 such as IRQ settings. Now it's time to configure the kernel. FreeBSD uses the
483 <c>config</c> command to do this. <c>config</c> uses the given file (in this
484 instance GENERIC) to copy over the required build files to a
485 <path>compile</path> directory in the parent directory. <path>GENERIC</path> is
486 similiar to the <path>.config</path> file for the Linux kernel. Run
487 <c>config</c> to produce the build directory:
488 </p>
489
490 <pre caption="Configuring the kernel build">
491 # <i>config GENERIC</i>
492 Kernel build directory is ../compile/GENERIC
493 Don't forget to ''make cleandepend; make depend''
494 </pre>
495
496 <p>
497 <c>config</c> has created a GENERIC build directory for us in the parent
498 directory. <c>cd</c> into it, then run the following to do a complete build:
499 </p>
500
501 <pre caption="Building and installing the kernel">
502 # <i>cd ../compile/GENERIC</i>
503 # <i>make cleandepend &amp;&amp; make depend &amp;&amp; make &amp;&amp; make install</i>
504 </pre>
505
506 <p>
507 This will give us a complete kernel to work with. Now we'll need to setup the
508 bootloader for the kernel to boot. The next chapter will discuss two methods of
509 setting up the bootloader: <c>boot0</c> and <c>grub</c>.
510 </p>
511
512 </body>
513 </section>
514 <section>
515 <title>Setting up the bootloader (boot0)</title>
516 <body>
517
518 <impo>
519 <c>boot0</c> is the FreeBSD bootloader. Previously, it was the only supported
520 bootloader until <c>grub</c> was introduced into ports with UFS slice support.
521 To install and configure <c>boot0</c>, run the following. Remember to replace
522 <c>adXsY</c> with the actual number and slice of your disk.
523 </impo>
524
525 <pre caption="Installing and setting up boot0">
526 # <i>emerge boot0</i>
527 <comment>(Leave the chroot environment)</comment>
528 # <i>exit</i>
529 <comment>(Issued from outside the chroot)</comment>
530 # <i>fdisk -B -b /mnt/boot/boot0 /dev/adX</i>
531 # <i>chroot /mnt/ /bin/bash</i>
532 # <i>disklabel -B adXsY</i>
533 </pre>
534
535 <p>
536 If you need additional information on setting up <c>boot0</c>, please consult
537 <uri
538 link="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/boot.html">chapter
539 12</uri> of the FreeBSD handbook. Now it's time to do some basic system
540 configuration and settings.
541 </p>
542
543 <p>
544 The next section will look at using the alternative bootloader, <c>grub</c>.
545 </p>
546
547 </body>
548 </section>
549 <section>
550 <title>Setting up the bootloader (grub)</title>
551 <body>
552
553 <p>
554 As of grub 0.97-r1, UFS slices are readable to <c>grub</c>. This lets us use
555 <c>grub</c> as a bootloader, the prefered method for those coming from a Linux
556 background. To begin, emerge <c>grub</c> and setup the label as bootable.
557 Remember to replace <c>adXsY</c> with the actual number and slice of your disk.
558 </p>
559
560 <pre caption="Emerge grub">
561 # <i>emerge grub</i>
562 # <i>disklabel -B adXsY</i>
563 </pre>
564
565 <p>
566 Now run <c>grub</c> to bring up the command prompt, and set up the partition as
567 shown:
568 </p>
569
570 <pre caption="Setting up grub">
571 <comment>(This is done to prevent disk error 29)</comment>
572 # <i>sysctl kern.geom.debugflags=16</i>
573 # <i>grub</i>
574 <comment>(Example using ad0s1d)</comment>
575 grub&gt; <i>root (hd0,0,d)</i>
576 Filesystem type is ufs2, partition type 0xa5
577
578 grub&gt; <i>setup (hd0)</i>
579 Checking if "/boot/grub/stage1" exists... yes
580 Checking if "/boot/grub/stage2" exists... yes
581 Checking if "/boot/grub/ufs2_stage1_5" exists... yes
582 Running "embed /boot/grub/ufs2_stage1_5 (hd0)"... 14 sectors are embedded.
583 succeeded
584 Running "install /boot/grub/stage1 (hd0) (hd0)1+14 p (hd0,0,d)/boot/grub/stage
585 2 /boot/grub/menu.lst"... succeeded
586 Done.
587
588 grub&gt; quit
589 </pre>
590
591 <p>
592 To make the loader find the kernel on a specific slice (the default is 'a'),
593 add a <c>vfs.root.mountfrom</c> line to the <path>/boot/loader.conf</path>
594 file:
595 </p>
596
597 <pre caption="Tell the loader where to look for the kernel">
598 # <i>echo 'vfs.root.mountfrom="ufs:ad0s1d"' >> /boot/loader.conf</i>
599 </pre>
600
601 <p>
602 When you first boot, you may not receive a grub menu. If so, run this at the
603 prompt:
604 </p>
605
606 <pre caption="Booting the kernel with no menu">
607 grub&gt; <i>find /boot/grub/stage1</i>
608 <comment>(The output here is what you'll use in the next command)</comment>
609 (hd0,0,d)
610
611 grub&gt; <i>kernel (hd0,0,d)/boot/loader</i>
612 [FreeBSD-a.out, loadaddr=0x200000, text=0x1000, data=0x3a000, bss=0x0, entry=0x200000]
613
614 grub&gt; <i>boot</i>
615 </pre>
616
617 <note>
618 For more information on configuring grub, please refer to the <uri
619 link="/doc/en/handbook/handbook-x86.xml?part=1&amp;chap=10#doc_chap2">Gentoo
620 Linux Handbook</uri>.
621 </note>
622
623 <warn>
624 Grub doesn't follow UFS symlinks so be sure to delete the
625 <path>/boot/grub/menu.lst</path> symlink and to use <path>menu.lst</path> to
626 setup Grub (<path>grub.conf</path> isn't used).
627 </warn>
628
629 </body>
630 </section>
631 <section>
632 <title>System configuration</title>
633 <body>
634
635 <p>
636 First, we are going to setup the filesystem mounting points in
637 <path>/etc/fstab</path>.
638 </p>
639
640 <pre caption="Editing the filesystem in /etc/fstab">
641 # <i>nano /etc/fstab</i>
642 <comment>(This is an example, replace X and Y with the correct numbers for your hard disk.)</comment>
643 #Device Mountpoint Fstype Options Dump Pass
644 /dev/adXsYb none swap sw 0 0
645 /dev/adXsYa / ufs rw 1 1
646 /dev/adXsYe /usr/home ufs rw 2 2
647 /dev/adXsYd /tmp ufs rw 2 2
648 /dev/acdX /cdrom cd9660 ro,noauto 0 0
649 </pre>
650
651 <p>
652 Now would also be a good time to set up your network connection before the final
653 reboot. You can find all the information necessary to configure your network in
654 the <uri link="/doc/en/handbook/handbook-x86.xml?part=4&amp;chap=1">Gentoo
655 Handbook</uri>. To have your network interface activated at boot time, you have
656 to add it to the default runlevel:
657 </p>
658
659 <pre caption="Adding your network adapter to the default runlevel">
660 # <i>rc-update add net.fxp0 default</i>
661 </pre>
662
663 <p>
664 Your system's hostname can be changed in <path>/etc/conf.d/hostname</path>.
665 </p>
666
667 <pre caption="Setting up the machine's hostname">
668 # <i>nano /etc/conf.d/hostname</i>
669 <comment>(Set the HOSTNAME variable to your hostname)</comment>
670 HOSTNAME="tux"
671 </pre>
672
673 <p>
674 You should also configure your domain name, which is done in the
675 <path>/etc/conf.d/domainname</path> file:
676 </p>
677
678 <pre caption="Setting the domainname">
679 # <i>nano /etc/conf.d/domainname</i>
680 <comment>(Set the dns_domain variable to your domain name, and lo to your local
681 network interface)</comment>
682 dns_domain_lo="homenetwork"
683 </pre>
684
685 <p>
686 If you have a NIS domain, you need to define it in the
687 <path>/etc/conf.d/domainname</path> file:
688 </p>
689
690 <pre caption="Setting the NIS domainname">
691 # <i>nano /etc/conf.d/domainname</i>
692 <comment>(Set the nis_domain variable to your NIS domain name, and lo to your local network interface)</comment>
693 nis_domain_lo="my-nisdomain"
694 </pre>
695
696 <note>
697 For more information on domainnames and networking, please refer to the <uri
698 link="/doc/en/handbook/handbook-x86.xml?part=1&amp;chap=8#doc_chap2">Gentoo
699 Linux Handbook</uri>, and please read the documentation in
700 <path>/etc/conf.d/net.example</path>.
701 </note>
702
703 <p>
704 In case you need to use another keyboard layout for your language, you have to
705 set the correct value in <path>/etc/conf.d/syscons</path>. The following example
706 uses the Spanish layout, so you'll have to adjust it to your need if you want to
707 use another one.
708 </p>
709
710 <pre caption="Changing your keyboard layout (Optional)">
711 # <i>nano /etc/conf.d/syscons</i>
712 KEYMAP="spanish.iso.acc"
713 <comment>(Possible layouts can be found in /usr/share/syscons/keymaps).</comment>
714 </pre>
715
716 <p>
717 Now would be a good time to set a password for the <c>root</c> user and to add
718 another user account for your day-to-day work.
719 </p>
720
721 <pre caption="Changing the root password and adding a new user">
722 # <i>passwd</i>
723 # <i>adduser</i>
724 Username: <i>fred</i>
725 Full Name: <i>Fred Smith</i>
726 <comment>(Accepting the default here, just hit Enter.)</comment>
727 Uid (Leave empty for default):
728 <comment>(OK to accept the default here as well; hit Enter.)</comment>
729 Login group [fred]:
730 <comment>(Enter your groups here, space separated. They must exist.)</comment>
731 Login group is fred. Invite fred into other groups? []: wheel portage
732 <comment>(OK to accept the default here, hit Enter)</comment>
733 Login class [default]:
734 <comment>(Somewhat of a personal preference. Make sure the shell exists in /etc/shells)</comment>
735 Shell (sh bash tcsh csh esh ksh zsh sash nologin) [sh] <i>bash</i>
736 <comment>(OK to accept the default here, hit Enter for all these)</comment>
737 User password-based authentication [yes]
738 Use an empty password (yes/no) [no]:
739 Use a random password? (yes/no) [no]:
740 Enter password: <i>password goes here</i>
741 Enter password again: <i>retype it</i>
742 <comment>(OK to accept the default here, hit Enter)</comment>
743 Lock out the account after creation? [no]:
744 Username : fred
745 Password : *****
746 Full Name : Fred Smith
747 <comment>(This will vary)</comment>
748 Uid : 1002
749 Class :
750 Groups : fred wheel portage
751 Home : /home/fred
752 Shell : /bin/bash
753 Locked : no
754 <comment>(Confirm the information is correct)</comment>
755 OK? (yes/no): <i>yes</i>
756 adduser: INFO: Sucessfully added (fred) to the user database
757 Add another user? (yes/no): <i>no</i>
758 Goodbye!
759 #
760 </pre>
761
762 <p>
763 Congratulations, you have just finished your Gentoo/FreeBSD installation which
764 you can start exploring after the final reboot. Have fun!
765 </p>
766
767 <pre caption="Rebooting the system">
768 # <i>exit</i>
769 # <i>reboot</i>
770 </pre>
771
772 </body>
773 </section>
774 </chapter>
775
776 <chapter>
777 <title>Developing for Gentoo/FreeBSD</title>
778 <section>
779 <title>How to help</title>
780 <body>
781
782 <p>
783 There are many things you could help with, depending on your skill level and
784 spare time:
785 </p>
786
787 <ul>
788 <li>
789 Working on current ebuilds: this means working closely with ebuild
790 maintainers in order to create patches or modify ebuilds in a way that can
791 be accepted into the main tree.
792 </li>
793 <li>
794 Security: if you are into security, we need you! Although security
795 advisories from the FreeBSD project are tracked and fixed, we can always
796 use help in this area.
797 </li>
798 <li>
799 Contacts: we need people who can get in touch with FreeBSD developers to
800 maintain contacts between us and the original project to exchange patches
801 and discuss various problems and their solutions. Note that this should
802 never involve any kind of spamming of mailing lists or IRC channels.
803 </li>
804 <li>
805 Testing: the more people are actively using Gentoo/FreeBSD, the more bugs
806 will be discovered, which helps us improving the quality of the port. If
807 you are good at describing bugs or problems, we definitely want to hear
808 from you.
809 </li>
810 <li>
811 Other areas where we need help include: system ebuilds, creation of
812 installation CDs, documentation, kernel hacking.
813 </li>
814 </ul>
815
816 </body>
817 </section>
818
819 <section>
820 <title>Known issues</title>
821 <body>
822
823 <p>
824 At the moment, there are still quite a lot of known issues. Here are the ones
825 really worth noting:
826 </p>
827
828 <ul>
829 <li>
830 Some init scripts depend on the clock service which we don't provide right
831 now. You can just remove it from the dependencies of the script and report
832 that on our <uri link="http://bugs.gentoo.org/">Bugzilla</uri>. Please
833 remember to use the "Gentoo/Alt" product for your submission.
834 </li>
835 </ul>
836
837 </body>
838 </section>
839 </chapter>
840
841 <chapter>
842 <title>Contact</title>
843 <section>
844 <body>
845
846 <p>
847 A list of Gentoo/FreeBSD developers can be found at the <uri
848 link="/proj/en/gentoo-alt/bsd/fbsd/">project page</uri>. Other ways to contact
849 Gentoo/FreeBSD developers include our IRC Channel <c>#gentoo-bsd</c> on
850 Freenode, as well as the <uri link="/main/en/lists.xml">gentoo-bsd mailing
851 list</uri>.
852 </p>
853
854 </body>
855 </section>
856 </chapter>
857 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20