Introducción a Freebsd
Total Page:16
File Type:pdf, Size:1020Kb
INTRODUCCIÓN A FREEBSD Oinatz Aspiazu Copyleft – All rights reversed INTRODUCCIÓN BSD "Berkeley Software Distribution," Unix programado en la Universidad de California en Berkeley. Originalmente derivado de AT&T's Unix. Por los 80, TCP/IP en BSD. SO implantado en los ordenadores del Dpto de Defensa americano 4.3BSD + Berkeley Networking Release 2 (Net/2) SO libre de código de AT&T Port a 386->386BSD . Base de los *BSD actuales Problemas legales -> 4.4BSD Lite, colabora gente de todas partes FreeBSD 1º de todos los *BSD libres Más amigable para el usuario Centrado en arquitecturas x86 soportando poco otras arquitecturas Mayor colección de ports NetBSD Extremadamente portable. Soporta múltiples arquitecturas. Desde palmtops, consolas a grandes servidores. Mejores rendimientos en temas de red OpenBSD Se centra en la seguridad Muy bueno para servidores Soporta poco hardware Otros *BSD Wind River's BSD/OS Comercial. Basado en 386BSD y 4.4BSD Darwin Corazón de Apple OS X Open Source. Es posible compilar y ejecutar Darwin en máquinas x86 PicoBSD Entra en un diskette Proyecto no actualizado desde 1998 Otras cosas *BSD , sistemas operativos completos, no sólo el kernel. Mantenidos por un grupo de programadores (<> distro) No hay 1 persona que controle el contenido de ninguna parte del sistema *BSD Hay un repositorio donde están los fuentes completos de todo el sitema. Posible acceder a cualquier versión del sistema por número de release o fecha Licencia BSD permite también distribuciones sólo binarias. Atractivo para aplicaciones embebidas Emulación linux prácticamente perfecta *BSD vs GNU/Linux BSD puede ejecutar código de Linux. Linux no puede ejecutar código de BSD. (Mayor software en BSD) BSD tiene mejor reputación como sistema más fiable debido al código base más maduro *BSD puede dar una diferencia notable en rendimiento con respecto a GNU/Linux Si estás contento con GNU/Linux probablemente no hay una buena explicación para cambiarse a *BSD. Prueba y decide tú mismo ;-) *BSD - ramas CURRENT – Es la versión en desarrollo del sistema. FreeBSD y OpenBSD sufijo -current ; NetBSD sufijo una letra (p.ej NetBSD 1.4.3G) RELEASE – Versión que sale entre 2 y 4 veces por año (cdrom, ftp,...). En los 3 sistemas. NetBSD también tiene 'patch' releases indicando un 3er dígito (NetBSD 1.4.2) STABLE. Versión FreeBSD release después de aplicar parches. En NetBSD y OpenBSD las versiones finales se sigue llamando release (linux ramas stable, development kernel) Preparando la instalación FreeBSD necesita una partición primaria Preparando windoze Defragmentar, redimensionar partición/es Preparando gnu/linux Kernel: Filesystems -> Miscellaneous fillesystems : <M> UFS filesystem support (como módulo) [*] UFS file system write support (DANGEROUS) (Escritura en UFS desde gnu/linux no funciona) Redimensionar partición/es de gnu/linux (parted) Preparando gnu/linux (II) Swap FreeBSD y linux pueden compartir la swap de FreeBSD Añadir (a /etc/rc.d/rc.sysinit Redhat): awk -- '/swap/ && ($1 !~ /#/) { system("mkswap "$1"") }' /etc/fstab (Antes de swapon -a) /etc/fstab: /dev/hdaX none swap sw 0 0 (X, nº partición swap) Lilo (/etc/lilo.conf) other=/dev/hdXY (X: letra a,b,.. dependiendo del disco / controladora, Y: nº partición primaria de FreeBSD ) table=/dev/hdX (X: letra a,b,...) label=FreeBSD Instalando FreeBSD-release Configuración kernel inicial Instalando FreeBSD-release (II) Menú principal sysinstall Instalando FreeBSD-release (III) Menú Options Instalando FreeBSD-release (III) Crear Slice FreeBSD Instalando FreeBSD-release (IV) Boot Manager (coger 'None' si está lilo/grub instalado) Instalando FreeBSD-release (V) Crear particiones dentro de nuestro slice Instalando FreeBSD-release (VI) / , root. 100Mb tamaño razonable. Resto de particiones cuelgan de ésta. FreeBSD instala unos 40Mb aquí. Swap. 2-3x Mb RAM . /var . 50Mb. Contiene archivos que están constantemente variando. /usr. Resto del disco. Resto de nuestros archivos. Softupdates. Acelera lectura/escritura disco Instalando FreeBSD-release (VII) Escogiendo paquetes (fuentes, ports, ...) Instalando FreeBSD-release (VIII) Escoger desde dónde instalar (cdrom, ftp,...) Algunas preguntas posteriores sobre tipo seguridad, red, consola, zona horaria, ratón. Salir de la instalación y arrancar el sistema. Arranque 2 tipos de arranque en sistemas *ix (BSD y System V) (Slackware) Arranque (II) Pausa inicial (opciones) dmesg Copyright (c) 1992-2003 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.9-STABLE #2: Mon Jan 26 23:19:32 CET 2004 root@FreeBox:/usr/obj/usr/src/sys/GENERIC Timecounter "i8254" frequency 1193182 Hz CPU: Pentium III/Pentium III Xeon/Celeron (517.47-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x673 Stepping = 3 Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV ,PAT,PSE36,MMX,FXSR,SSE> real memory = 268369920 (262080K bytes) avail memory = 257351680 (251320K bytes) Preloaded elf kernel "kernel" at 0xc03bb000. Preloaded userconfig_script "/boot/kernel.conf" at 0xc03bb09c. VESA: v3.0, 4096k memory, flags:0x1, mode table:0xc0345c82 (1000022) VESA: NVidia Pentium Pro MTRR support enabled md0: Malloc disk Using $PIR table, 8 entries at 0xc00fdc30 apm0: <APM BIOS> on motherboard apm0: found APM BIOS v1.2, connected at v1.2 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 agp0: <VIA 82C691 (Apollo Pro) host to PCI bridge> mem 0xe0000000- 0xe3ffffff at device 0.0 on pci0 pcib2: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib2 pci1: <NVidia GeForce DDR graphics accelerator> at 0.0 irq 11 isab0: <VIA 82C596B PCI-ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <VIA 82C596 ATA66 controller> port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0 usb0: <VIA 83C572 USB controller> on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered viapropm0: SMBus I/O base at 0x5000 viapropm0: <VIA VT82C596A Power Management Unit> port 0x5000-0x500f at device 7.3 on pci0 viapropm0: SMBus revision code 0x0 smb0: <SMBus general purpose I/O> on smbus0 pcm0: <Creative EMU10K1> port 0xe800-0xe81f irq 5 at device 10.0 on pci0 pcm0: <SigmaTel STAC9721/23 AC97 Codec> pcib1: <Host to PCI bridge> on motherboard pci2: <PCI bus> on pcib1 orm0: <Option ROM> at iomem 0xc0000-0xc97ff on isa0 pmtimer0 on isa0 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0psm0: model IntelliMouse Explorer, device ID 4 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ad0: 38166MB <ST340810A> [77545/16/63] at ata0-master UDMA66 acd0: CD-RW <LITE-ON LTR-52246S> at ata1-master PIO4 Kernel - Compilación/instalación #/usr/src/make kernel (por defecto GENERIC) ( make buildkernel KERNCONF=MIKERNEL + make installkernell KERNCONF=MIKERNEL) - Configuración /sys/i386/conf/GENERIC (configuración kernel genérica) /sys/i386/conf/LINT (configuración kernel con todos los drivers) - Errores compilando (ej. usb_ether() ) # GENERIC -- Generic kernel configuration file for FreeBSD/i386 # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # #http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig- config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ./LINT configuration file. If you are # in doubt as to the purpose or necessity of a line, check first in LINT. # #$FreeBSD:src/sys/i386/conf/GENERIC,v1.246.2.56 2003/12/19 22:52:44 jhb Exp $ machine i386 cpu I686_CPU options CPU_ENABLE_SSE options CPU_FASTER_5X86_FPU options USER_LDT ident GENERIC maxusers 0 #options MSDOSFS #MSDOS Filesystem options CD9660 #ISO 9660 Filesystem options CD9660_ROOT #CD-ROM usable as root, CD9660 required # Power management support (see LINT for more options) device apm0 at nexus? disable flags 0x20 # Advanced Power Management # syscons is the default console driver device sc0 at isa? flags 0x100 options SC_PIXEL_MODE options SC_TWOBUTTON_MOUSE # Pseudo devices - the number indicates how many units to allocate. pseudo-device ppp 1 # Kernel PPP pseudo-device tun # Packet tunnel. pseudo-device speaker # Speaker # Sonido device pcm # USB support device uhci # UHCI PCI->USB interface device usb # USB Bus (required) device ugen # Generic device ulpt # Printer Módulos (/modules/*.ko) - Ventajas Kernel más pequeño y optimizado Posibilidad de cargar y descargar evitando tener la parte correspondiente en memoria todo el rato. Carga, kldload