18.1. | ¿Como puedo aprender más acerca del funcionamiento interno de FreeBSD? |
Vea el Manual de arquitectura de FreeBSD. Además, la mayor parte del conocimiento general acerca de UNIX®es directamente aplicable a FreeBSD. | |
18.2. | ¿Cómo puedo contribuir a FreeBSD? |
Vea el artículo acerca de Contribuir a FreeBSD para consejos específicos acerca de como hacer esto. ¡La ayuda es más que bienvenida! | |
18.3. | ¿Qué son snapshots y lanzamientos? |
Hay actualmente 3 ramas activas/semi activas en el repositorio Subversion de FreeBSD. (Las ramas anteriores cambian muy raramente, que es por lo cual solo hay 3 ramas de desarrollo activas):
En este momento, -CURRENT es el torrente de desarrollo 11. | |
18.4. | ¿Puedo seguir -CURRENT con una conexión a Internet limitada? |
Si, esto puede hacerse sin descargar el árbol de código fuente entero usando la utilidad CTM. | |
18.5. | He escrito una extensión para el kernel ¿A quien se la envío? |
Vea el artículo en Contribuyendo a FreeBSD para aprender como enviar código. ¡Y gracias por haberlo pensado! | |
18.6. | ¿Como puedo aprovechar al máximo los datos que veo cuando mi kernel tiene un pánico? |
Este es un típico pánico de kernel: Fatal trap 12: page fault while in kernel mode fault virtual address = 0x40 fault code = supervisor read, page not present instruction pointer = 0x8:0xf014a7e5 stack pointer = 0x10:0xf4ed6f24 frame pointer = 0x10:0xf4ed6f28 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 80 (mount) interrupt mask = trap number = 12 panic: page fault Este mensaje no es suficiente. Mientras que el valor del puntero de instrucción es importante, también depende de la configuración varía en cada imagen de kernel. Si es un kernel Para proceder:
Sin embargo, la mejor manera de rastrear la causa del pánico es capturando un volcado de fallos, y luego usando kgdb(1) para generar un seguimiento de pila sobre el volcado de fallos. En cualquier caso, el método es este:
Nota:Si El proceso make(1) habrá compilado dos kernels. Para capturar un volcado de pila, edite Nota:Los volcados de fallos de FreeBSD suelen ser del mismo tamaño que la RAM física. Por consiguiente, asegúrese de que haya suficiente espacio en Una vez que se haya recuperado el volcado de fallos, obtenga un seguimiento de pila de esta manera:
Nótese que hay varias pantallas de información. En lo posible, use script(1) para capturarlas todas. Usar la imagen unstripped del kernel con todos los símbolos de depuración debería ahora mostrar la línea exacta del codigo fuente del kernel donde ocurrio el pánico. El seguimiento de pila suele leerse desde el fondo hacía arriba para rastrear la secuencia exacta de eventos que llevaron al fallo. kgdb(1) puede también usarse para imprimir el contenido de varias variables o estructuras para examinar el estado del sistema en el momento del fallo. Sugerencia:Si una segunda computadora esta disponible kgdb(1) puede configurarse para realizar la depuración remota, incluyendo ajustar breakpoints y hacer single-stepping en el código del kernel. Nota:Si | |
18.7. | ¿Por qué |
ELF toolchain por defecto no hace que los símbolos definidos a un ejecutable sean visibles al linker dinámico. Consecuentemente Para buscar, usando | |
18.8. | ¿Como puedo incrementar o reducir el espacio de direcciones del kernel en i386? |
Por defecto, el espacio de direcciones del kernel es de 1 GB (2 GB ppara PAE) para i386. Al correr un servidor que es intensivo sobre la red o usar ZFS, esto probablemente no sea suficiente. Agregue la siguiente línea al archivo de configuración del kernel para incrementar el espacio disponible y recompile el kernel: options KVA_PAGES= Para encontrar el valor correcto de |
Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Si tiene dudas sobre FreeBSD consulte la
documentación antes de escribir a la lista
<questions@FreeBSD.org>.
Envíe sus preguntas sobre la documentación a
<doc@FreeBSD.org>.