Saturday 10 December 2016

Bios Ppc Binary Options

Dmidecode (8) - Página de manual de Linux dmidecode - DMI decodificador de tabla Sinopsis Descripción dmidecode es una herramienta para descargar un contenido de tabla DMI (algunos dicen SMBIOS) de ordenadores en un formato legible por humanos. Esta tabla contiene una descripción de los componentes de hardware del sistema, así como otras informaciones útiles como números de serie y revisión del BIOS. Gracias a esta tabla, puede recuperar esta información sin tener que buscar el hardware real. Si bien este es un buen punto en términos de velocidad de informe y seguridad, esto también hace que la información presentada posiblemente no sea fiable. La tabla DMI no sólo describe lo que el sistema está actualmente hecho, sino que también puede informar sobre las posibles evoluciones (como la CPU más rápida soportada o la cantidad máxima de memoria soportada). SMBIOS significa BIOS de administración del sistema. Mientras que DMI significa Desktop Management Interface. Ambos estándares están estrechamente relacionados y desarrollados por el DMTF (Desktop Management Task Force). Al ejecutarlo, dmidecode intentará localizar la tabla DMI. Si tiene éxito, entonces analizará esta tabla y mostrará una lista de registros como éste: Maneje 0x0002, DMI tipo 2, 8 bytes. Información de la placa base Fabricante: Intel Nombre del producto: C440GX Versión: 727281-001 Número de serie: INCY92700942 Cada registro tiene: Un identificador. Este es un identificador único, que permite que los registros se refieran entre sí. Por ejemplo, los registros del procesador usualmente hacen referencia a registros de memoria caché usando sus manejadores. Un tipo. La especificación SMBIOS define diferentes tipos de elementos de los que se puede hacer una computadora. En este ejemplo, el tipo es 2, lo que significa que el registro contiene información de la placa base. Un tamaño. Cada registro tiene un encabezado de 4 bytes (2 para el identificador, 1 para el tipo, 1 para el tamaño), el resto es utilizado por los datos del registro. Este valor no tiene en cuenta las cadenas de texto (estas se colocan al final del registro), por lo que la longitud real del registro puede ser (y es a menudo) mayor que el valor mostrado. Valores decodificados. La información presentada, por supuesto, depende del tipo de registro. Aquí, aprendemos sobre el fabricante, el modelo, la versión y el número de serie de las placas. Opciones - d. --dev-mem FILE Lea la memoria del dispositivo FILE (por defecto: / dev / mem) - q. --quiet Sea menos detallado. Las entradas desconocidas, inactivas y OEM no se muestran. Las referencias de metadatos y identificadores están ocultas. - s. --string KEYWORD Mostrar sólo el valor de la cadena DMI identificada por KEYWORD. KEYWORD debe ser una palabra clave de la siguiente lista: bios-vendor. Bios-versión. Bios-release-date. fabricante del sistema . System-product-name. Versión del sistema. Número de serie del sistema. System-uuid. Fabricante de zócalo. Baseboard-product-name. Baseboard-version. Baseboard-serial-number. Baseboard-asset-tag. Chasis-fabricante. Tipo chasis. Chasis-versión. Chasis-número de serie. Chasis-asset-tag. Procesador-familia. Procesador-fabricante. Procesador-versión. Frecuencia del procesador. Cada palabra clave corresponde a un tipo DMI dado y un desplazamiento dado dentro de este tipo de entrada. No todas las cadenas pueden ser significativas o incluso definidas en todos los sistemas. Algunas palabras clave pueden devolver más de un resultado en algunos sistemas (por ejemplo, la versión del procesador en un sistema multiprocesador). Si KEYWORD no se proporciona o no es válido, se imprime una lista de todas las palabras clave válidas y dmidecode sale con un error. Esta opción no se puede utilizar más de una vez. - t. --type TYPE Mostrar sólo las entradas del tipo TYPE. TYPE puede ser un número de tipo DMI o una lista separada por comas de números de tipo o una palabra clave de la siguiente lista: bios. Sistema. Baseboard Chasis Procesador Memoria. Caché Conector. Ranura Consulte la sección TIPOS DMI a continuación para obtener más detalles. Si esta opción se utiliza más de una vez, el conjunto de entradas visualizadas será la unión de todos los tipos dados. Si TYPE no se proporciona o no es válido, se imprime una lista de todas las palabras clave válidas y dmidecode sale con un error. - u. --dump No decodificar las entradas, volcado su contenido como hexadecimal en su lugar. Tenga en cuenta que esto sigue siendo una salida de texto, no se arrojarán datos binarios sobre usted. Las cadenas adjuntas a cada entrada se muestran como hexadecimal y ASCII. Esta opción es útil principalmente para la depuración. --dump-bin FILE No descifra las entradas, sino que vuelca los datos DMI a un archivo en forma binaria. El archivo generado es adecuado para pasar a --from-dump más adelante. --from-dump FILE Lea los datos DMI de un archivo binario previamente generado usando --dump-bin. H --help Muestra información de uso y sale de - V. --version Mostrar la versión y salir Opciones --string, --type y --dump-bin determinan el formato de salida y son mutuamente excluyentes. Tipos DMI La especificación SMBIOS define los siguientes tipos DMI: Mac OSX Descargue el paquete Qemu 2.7-rc0 para OSX desde: open. ou. nl/hsp/downloads3/Qemu2.7-rc0-OSX. zip y descomprima el archivo en una carpeta De su gusto. Tenga en cuenta que esto utilizará aproximadamente 6 GB de espacio en disco. La descarga contiene: efi-rtl8139.rom emptydisk. raw Libs (Una carpeta que contiene varias bibliotecas de las que dependen Qemu y Qemu-img) qemu-qg-qg qemu-img qemu-system-ppc vgabios-stdvga. bin qemumand Para ejecutar Qemu, primero Abra el archivo qemumand con textedit u otro texteditor. Necesita editar el archivo para que se ajuste a su situación. Este es el contenido del archivo: / qemu-system-ppc - bios ./openbios-ppc - boot d - M mac99 - m 256 - de-env 039auto-boottrue039 - de-env 039boot-args-v039 - g 1024x768x32 - Net user - net nic, modelrtl8139 - drive fileMacOSX10.3InstallDisc1.iso, formatraw, mediacdrom - drive file./emptydisk. raw, formatraw, mediadisk Qué hace este archivo: ./qemu-system-ppc inicia qemu con todo lo siguiente como parámetros : - bios ./openbios-ppc define la ubicación y el nombre del bios que se va a utilizar. - boot d define para arrancar desde una entrada de unidad marcada como un cdrom, - boot c define para arrancar desde una entrada de unidad marcada como disco. - M mac99 define el modelo de mac utilizado. - m 256 define la cantidad de memoria para OS9 / OSX. - prom-env 039auto-boottrue039 - prom-env 039boot-args-v039 define parámetros de arranque para openbios y Mac OSX. El - v hace que el proceso de arranque verbose - g 1024x768x32 establece qemu para proporcionar OS9 / OSX con una pantalla de tamaño 1024 x 768 con color de 32 bits. - net user - net nic, modelrtl8139 define qemu presenta una tarjeta ethernet realtek8139 a OS9 / OSX y proporciona servicio DHCP a OSX a través de la red slirp. - drive file./MacOSX10.3InstallDisc1.iso, formatraw, mediacdrom define el nombre, la ubicación, el formato y el tipo de un archivo de imagen cdrom que se va a utilizar - drive file./emptydisk. raw, formatraw, mediadisk define el nombre, la ubicación, Formato y tipo de un archivo de imagen de disco duro que se utilizará Tenga en cuenta que hay dos entradas que comienzan con - drive. La primera entrada describe dónde encontrar una imagen de disco de CD de instalación de MacOSX o OS 9, la segunda describe dónde encontrar un archivo de imagen de disco duro en el que se instalará OSX o Mac OS. Puede cambiar el nombre y la ruta de las imágenes de disco, pero mantenga el formato y asegúrese de que mediadisk o mediacdrom refleja el tipo de archivo al que apunta. Compruebe los nombres y ubicaciones de la imagen de instalación del CD y la imagen del disco duro que está utilizando. Edite qemumand según sea necesario y guarde el archivo. Asegúrese de que todos los parámetros están en una línea continua de texto. También compruebe que textedit doesn039t use citas inteligentes u otras mejoras de texto, ya que esto hará que el archivo no sea adecuado para ejecutar qemu. Después de editar y guardar: Haga doble clic en qemumand. Esto iniciará qemu y arrancará el instalador de Mac OSX o Mac OS. Vaya a Disk Utility o el equivalente de Mac OS y divida el disco duro Qemu de 6 GB para usar 1 partición. A continuación, continúe con la instalación. Si selecciona instalar todo el software, necesita imágenes de disco para todos los CD de instalación de OSX. El software de Mac OS 9 está todo en un disco. Puede expulsar y cargar fácilmente imágenes de CD / DVD a través del menú Qemu, consulte Cambio de CD en Qemu para OSX a continuación. Una vez finalizada la instalación, detenga Qemu. Edite qemumand para arrancar desde una imagen de disco duro en lugar de una imagen de CD. En el archivo qemumand, cambie - boot d a - boot c para arrancar desde la imagen del disco duro. Puede quitar la entrada de disco que apunta a la imagen de CD de instalación. Guarde el archivo y haga doble clic en él. Windows Cree una carpeta para los archivos relacionados con Qemu. Coloque sus imágenes de disco de Mac OS / OSX en esta carpeta. Edite el archivo por lotes qemu. bat Abra su editor de texto favorito y edite la entrada - drive para reflejar la ubicación de sus imágenes de disco / cd (todas en una línea): qemu-system-ppc-wip. exe - bios openbios-qemu - Wip. elf - L pc-bios - boot c - m 512 - M mac99p - prom-env auto-boottrue - prom-env boot-args - v - sdl - net nic, modelsungem - net user - drive fileLeopard. img, formatraw , Mediadisk Haga doble clic en qemu. bat. Esto iniciará qemu Iniciando Mac OS / OSX Para cambiar entre arrancar desde cd o imagen de disco duro, cambie el argumento - boot d (de cdrom) a - boot c (para disco duro) en qemu. bat. También invierta el orden en que su disco y la entrada de cd rom se enumeran en qemu. bat. Al iniciar con - boot c, asegúrese de que su imagen de disco aparece en primer lugar. Guarda el archivo. Haga doble clic en qemu. bat y Mac OS / OSX arrancará desde el disco duro / cdrom. Tenga en cuenta que también puede quitar - prom-env boot-args-v para permitir un arranque gráfico completo de OSX. Redes en OSX y Windows Aquí hay dos maneras de hacer funcionar la red en OSX y Windows a través de slirp o tap networking Red basada en slirp en OSX y windows Agregue lo siguiente a su línea de comandos: - net user - net nic, modelrtl8139 Bridging a tap device En OSX Para OSX Mountain Lion y superiores, apoyando el puente de red: instale tuntaposx y agregue la primera línea a su línea de comandos qemu, ejecute qemu con sudo y ejecute las otras líneas en otra ventana de terminal: - netdev tap, idnetwork0, scriptno, downscriptno - device rtl8139, netdevnetwork0 sudo ifconfig bridge0 crear sudo ifconfig bridge0 addm en0 sudo ifconfig bridge0 addm tap0 sudo ifconfig bridge0 up Poner un dispositivo tap en Windows Debes instalar el controlador OpenVPN, conectarlo con tu conexión ethernet normal y usar lo siguiente en La línea de comandos qemu: - net nic, modelrtl8139 - net tap, ifnameEthernet (reemplace Ethernet con el nombre de la conexión de red del dispositivo de conexión) Cambio de CD en Qemu para OSX Para cambiar fácilmente los CD en Qemu para OSX, arrastre primero el icono de CD actual La basura. A continuación, abra el menú Máquina y haga clic en cambiar ide1-cd0 y navegue hasta la imagen de CD que desea montar. Haga doble clic en la imagen y espere a que se monte en el escritorio de Mac OS / OSX. Crear una nueva imagen de disco en OSX con qemu-img Utilizar el programa qemu-img en su carpeta qemu para crear nuevos archivos de imagen de disco duro iniciar un terminal y navegar a su carpeta qemu, luego ingrese el siguiente comando: / qemu-img create - F raw - o size6G diskname. raw (cambia el nombre del disco al nombre de archivo deseado) Crea un disco vacío de 6Gb con el nombre deseado en la carpeta actual. Creación de una nueva imagen de disco en OSX con DiskUtility Puede crear nuevas imágenes de disco que Qemu utilice como disco duro y en las que pueda instalar Mac OSX. Abra Utilidad de disco, cree una imagen nueva como esta: Haga clic en Nueva imagen En guardar como, primero seleccione su carpeta qemu y, a continuación, nombre la imagen como, p. OSX-Jaguar. HD Tamaño: Personalizado. Seleccione 6 Gb Defina el formato. Mac OS Extended (journaled) Establecer el cifrado. Ninguno Establecer particiones. Disco duro ¿Qué es Mac OS X copia Amit Singh. Todos los derechos reservados. Escrito en diciembre de 2003 Inicio de Mac OS X Esta página contiene una breve descripción del firmware de Mac (análogo al PC BIOS en muchos aspectos), el cargador de arranque y la típica secuencia de arranque de Mac OS X. Hay diferencias significativas entre la edad (68k, quotOld Worldquot PowerMacs) y más reciente (todo actualmente, pero esencialmente quotNew Worldquot máquinas con Open Firmware 3.x que carga ROM de un archivo) arranque. La discusión aquí se aplica a los sistemas más nuevos. El firmware no es parte de Mac OS X, pero desempeña un papel importante en el funcionamiento de la máquina y es útil en la depuración. Por lo tanto, lo discutimos aquí. Open Firmware Background Open Firmware (Estándar IEEE-1275 para Firmware de arranque: Core Requirements and Practices) es un firmware de inicio independiente de plataforma (CPU y sistema) independiente. Similar al BIOS de una PC, Open Firmware se almacena en la ROM y es el primer programa almacenado que se ejecutará al encender. Una implementación Open Firmware se basa en el lenguaje de programación Forth, en particular, el dialecto FCode (FCode es un dialecto compatible ANS Forth que admite compilación de fuente FCode a bytecode). Apple y Sun son dos destacados fabricantes de sistemas informáticos que utilizan implementaciones de Open Firmware en sus sistemas (la marca Suns se llama OpenBoot). La página principal del Grupo de Trabajo Open Firmware está alojada en varios lugares, entre ellos Apple y Sun. Por lo tanto, el firmware se implementa en Forth, y se almacena en la ROM como bytecode FCode. Los controladores de dispositivos que se requieren durante el inicio del sistema también se implementan de manera similar. Estos controladores normalmente existen en la ROM de expansión de las tarjetas de expansión que se necesitan antes de que el sistema operativo se haya cargado. Interacción Puede ingresar a Open Firmware pulsando la combinación de teclas cmd-opt-O-F justo cuando encienda un Macintosh. La tecla cmd es la que tiene el logotipo de Apple y la tecla opt (opción) es la misma que la tecla alt. Debería ver un mensaje de bienvenida y otra palabrería, y debería dejarse caer en un mensaje como el siguiente: Puede continuar arrancando la máquina escribiendo mac-boot. O apagarlo escribiendo el apagado. A pesar de que este Forth quotshellquot soporta la edición de línea de comandos razonable (para un BIOS) (puede utilizar ctrl-a para ir al principio de una línea, ctrl-e ir al final, ctrl-u para borrar una línea, - arrow key for history, etc.), lo encontraría más conveniente (sobre todo si está intentando escribir cualquier código en el firmware) para acceder a un Macs Open Firmware de otro ordenador (arbitrario), a través de la red. Esta es la secuencia de comandos para hacer esto (todo se escribe en el mensaje de Open Firmware, a menos que se indique lo contrario): 0 gt dev / packages / telnet Tenga en cuenta que con éxito, Open Firmware imprime la cadena quot ok quot en la misma línea que presiona Ltreturngt. En los ejemplos de esta página, si ves que está bien. Recuerde que se imprime con Open Firmware y no se supone que debe escribirlo (no es una palabra Open Firmware válida de todos modos). Si su Macs Open Firmware incluye el paquete telnet, verá: 0 gt dev / packages / telnet ok Si obtiene un ok. Usted puede funcionar un servidor de TELNET en él: quot enet: telnet, 10.0.0.1quot io Esto funcionaría un servidor de TELNET en la máquina con la dirección de IP 10.0.0.1 (usted puede y debe elegir cualquier dirección apropiada). A partir de entonces, puede conectarse a Open Firmware en esta máquina utilizando un cliente TELNET, por ejemplo desde una máquina Windows. Vea Las Torres de Hanoi en Open Firmware para un ejemplo de programación. Tenga en cuenta que los ordenadores actuales de Apple (por lo menos G4 y superiores) vienen con puertos Ethernet que son de detección automática y autoconfiguración, por lo que no necesita un cable cruzado para conectarlo directamente a otro equipo (no se necesita concentrador, etc. .). Ejemplos 1. El siguiente comando imprime el árbol de dispositivos: 0 / gt / lf ff880d90: / cpus ff881068: / powerpc, 7500 ff881488: / l2-cache ff882148: / elegido ff882388: / memory0 ff882650: / openprom ff882828: / cliente-servicios . Más ltspacegt, ltcrgt, q, a. 2. El siguiente comando le proporciona información sobre la RAM instalada: 0 gt dev / memoria. properties ok nombre memoria devicetype memoria reg 00000000 10000000 10000000 10000000 nombres de ranura 00000003 SODIMM0 / J25LOWER SODIMM1 / J25UPPER. Dimm-tipos DDR SDRAM DDR SDRAM dimm-velocidades PC2700U-25330 PC2700U-25330. La máquina en el comando anterior (un PowerBook G4 15, aunque no es relevante) tiene dos chips PC2700 DDR SDRAM instalados. Los dos pares de números contra reg especifican la dirección de inicio y el tamaño de los chips. Por lo tanto, el primer chip RAM comienza en la dirección 0x0000000 y tiene un tamaño 0x10000000 (que es 256 MB). El segundo chip comienza en 0x1000000 (256 MB) y tiene un tamaño de 256 MB. La RAM total es de 512 MB. Si necesita reducir el tamaño de RAM instalado (como lo ve Mac OS X) por cualquier motivo, sin tener que quitar realmente un stick RAM (o si desea simular un tamaño arbitrario menor que el RAM total instalado), puede Elimine la entrada reg utilizando el comando delete-property y especifique su propia reg. Refiriéndose al ejemplo anterior del PowerBook de 512 MB, el siguiente comando desactiva esencialmente el segundo stick RAM (tenga en cuenta que este cambio no se escribe en la NVRAM - es transitorio - una vez que reinicie, el otro chip será detectado y usado como antes) Debe tenerse en cuenta que las propiedades reg pueden cambiar de una máquina a otra, o más probablemente con cambios arquitectónicos (por ejemplo, Ejemplo, el formato cambiado con el PowerMac G5). Una forma menos aventurera y más apropiada para limitar RAM visible es usar el argumento de arranque maxmem, como en el indicador de shell: 3. La siguiente secuencia de comandos muestra varias informaciones sobre las máquinas CPU: 0 gt dev / ok 0 Gt dev / cpus ok 0 gt ls ff886d58: / PowerPC, G40 ff8871f8: / l2-caché ok 0 gt dev PowerPC, G40 ok 0 gt. properties nombre cpu reg 00000000 cpu-version 80020101 estado funcionando frecuencia de reloj 4a817c7b frecuencia de bus 09ef21aa . El resto de la salida contiene varios tamaños de caché, capacidades de gráficos de los procesadores (Altivec, soporte para ciertas instrucciones), y así sucesivamente. Usted puede pensar en esto como análogo a / proc / cpuinfo en Linux. 4. El siguiente comando lista los archivos en el directorio raíz del disco (partición) a los que hace referencia el quotaliasquot hd 0 gt dir hd: Tamaño / GMT Archivo / Dir bytes fecha hora Nombre 6148 12/25/3 4:25:25. DSStore 156 9/12/3 20:41:59.hidden 589824 12/25/3 6:45: 6.hotfiles. btree. 5. El comando siguiente expande el alias hd. Y le da la ruta completa del dispositivo en el árbol (escriba devalias por sí mismo para ver una lista de alias actuales, junto con lo que se refieren): 0 gt devalias hd / pcif4000000 / ata-6d / Cargue un archivo (kernel) usando el comando load e inicie con el comando boot. Como se mencionó anteriormente, mac-boot y shut-down están predefinidos para arrancar la máquina normalmente, o cerrarla, respectivamente. Puede obtener y establecer variables (opciones) utilizando los comandos printenv y setenv. Estas variables se almacenan en la memoria no volátil (NVRAM) de Open Firmware. Por ejemplo, si desea que su dirección de correo electrónico se use como el banner quotOEM, debe hacer lo siguiente: 0 gt setenv oem-banner youyour. email. address 0 gt setenv oem-banner true En realidad, Firmware para establecer las variables NVRAM. Puede acceder (obtener y configurar) desde Mac OS X a través de la utilidad de línea de comandos nvram. Para resumir, Open Firmware es una poderosa herramienta para controlar, depurar y explorar el equipo. Funcionamiento Cuando se enciende un Macintosh con Open Firmware equipado (todos los sistemas actuales de Apple en el momento de escribir este documento), el hardware se diagnostica (mediante un código POST) y se inicializa. La primera entidad que controla la CPU a partir de entonces es el firmware. Open Firmware (que se ejecuta con las interrupciones deshabilitadas) crea un árbol de dispositivos, analiza las ranuras de los dispositivos, consulta los dispositivos PCI y asigna el espacio de direcciones apropiadamente y busca el dispositivo de arranque predeterminado (a menos que se especifique explícitamente). Las siguientes claves quotsnagquot permiten al usuario especificar un dispositivo de arranque mientras el sistema está encendido: dispositivo C al que hace referencia el alias de CD, unidad de CD-ROM D al que hace referencia el alias hd, dispositivo de unidad de disco duro N al que hace referencia El alias del enet, un dispositivo de la tarjeta de red Z referido por el alias del cierre relámpago, una impulsión del CIERRE Es digno de señalar que presionar T mientras que su energía de Mac encendido lo botaba en qué se llama el modo del disco de la blanco de FireWire. Esencialmente, su Mac se convierte en una extravagante unidad de disco FireWire externa. También puede especificar la ruta de acceso completa de un dispositivo o hacer que el arranque de la máquina se realice a través de la red mediante TFTP: boot inet: ltserver IPgt, ltfilegt, ltmy IPgtltsubnetgt, ltgateway IPgt Si Open Firmware no encuentra un dispositivo de arranque, . Abra el Firmware y luego cargue un archivo del tipo tbxi (ToolBox ROM Image, por razones históricas) desde la partición del sistema. Tenga en cuenta que esto habría sido el archivo llamado quot Mac OS ROM en la carpeta del sistema en Mac OS 9, mientras que OS X carga / System / Library / CoreServices / BootX. Que es el gestor de arranque también. Entonces se ejecuta BootX y se le pasa el control. Tenga en cuenta que Open Firmware puede cargar directamente los binarios ELF, XCOFF y quotbootinfoquot (cualquier formato compatible con un encabezado XML), pero no Mach-O, el formato ejecutable nativo en Mac OS X. BootX puede cargar binarios Mach-O. BootX es también el nombre de un gestor de arranque de código abierto (diferente de Apples BootX) que permite el arranque dual de Mac OS y Linux en máquinas quotOld Worldquot (BootX) . BootX puede cargar kernels de varios sistemas de archivos: HFS, HFS, UFS, ext2 y TFTP (red, abstraído para parecer un sistema de archivos). Además de Mach-O, BootX también puede cargar kernels ELF, aunque Mac OS X no utiliza esta función. Para reiterar, BootX puede cargar kernels ELF desde una partición ext2 Los quotOld Worldquot Mac tenían varios problemas con la implementación de Open Firmware, que a su vez causó muchos problemas de arranque para los ingenieros de Apple y aún más problemas para el puerto PowerPC Linux. Ahora, Apple tenía acceso a la fuente de firmwares. Resolvieron la mayoría de los problemas a través de parches de NVRAM o integrando los cambios necesarios en BootX (en los casos en que los cambios no pudieron implementarse como parches). A medida que BootX maduró, Apple añadió soporte para ext2 y ELF con el objetivo de hacer que la plataforma sea más compatible con PowerPC Linux. La secuencia de eventos cuando BootX comienza a ejecutar (después de ser entregado el control por Open Firmware) se describe a continuación: BootX primero inicializa la interfaz de cliente Open Firmware (que usaría para hablar con el firmware) y recupera la versión de firmware. A continuación, crea un pseudo-dispositivo llamado slwords (sl implica cargador secundario) en el firmware, y define varias palabras FORTH en él (es aquí que el código para el cursor de giro está configurado). BootX busca el dispositivo de opciones en el firmware, que contiene varias variables (que se pueden ver y establecer utilizando los comandos printenv y setenv en Open Firmware). 0 gt dev / options. properties nombre opciones little-endian false verdadero-mode false auto-boot verdadero diag-switch false. Boot-comando mac-boot. BootX busca el dispositivo elegido, que contiene identificadores para entidades tales como los dispositivos de entrada / salida de arranque, la memoria, la MMU, la PMU, la CPU, el PIC, etc. Por ejemplo, el siguiente comando en el indicador de Open Firmware le muestra El contenido de elegido. 0 gt dev / elegido ok 0 gt. properties nombre elegido stdin ffbc6e40 stdout ffbc6600 memoria ffbdd600 mmu. BootX inicializa los identificadores a la MMU y la memoria usando elegido. BootX inicializa los identificadores en la pantalla de arranque y en el teclado (si está presente). BootX comprueba si quotsecurity modequot es quotnonequot, o BootX comprueba si se han especificado las banderas quotverbosequot (cmd-v) o quotsingle userquot (cmd-s) y establece el quotoutputputquot en consecuencia. BootX comprueba si el sistema está iniciando en quotSafe Modequot. BootX reclama la memoria para diversos propósitos. BootX encuentra todas las pantallas y las configura. Esto lo hace mediante la búsqueda de nodos de tipo quotdisplayquot en el árbol de dispositivos. La pantalla principal se refiere al alias de pantalla. Por ejemplo, puede probar esto en el indicador de Open Firmware: 0 gt dev pantalla ok 0 gt. properties nombre ATY, BeeA compatible ATY, Bee width 00000400 altura 00000300 linebytes 00000400 profundidad 00000008 display-type 4c434400 devicetype mostrar conjunto de caracteres ISO859-1 . Al abrir la (s) pantalla (s), BootX también ajusta el color de la pantalla al gris blanquecino familiar. BootX busca el dispositivo de arranque, los argumentos de arranque, etc. y determina de dónde sacar el kernel (a través de un dispositivo de red, de un dispositivo de bloque, etc.), de donde se construye la ruta al fichero kernel (machkernel). Si se arranca desde un dispositivo de bloque (que es el caso habitual), se calcula la ruta de acceso a la caché de kext (ver kextcache (8)), junto con el directorio de extensiones (normalmente / System / Library / Extensions). Mac OS X utiliza algunos tipos de caché quotkextquot (extensión de kernel) para acelerar la carga de kexts. Las cachés del kernel se guardan en el directorio /System/Library/Caches/com. apple. kernelcaches. Los archivos de caché se denominan kernelcache. XXXXXXXX. Donde el sufijo es un 32-bit adler checksum (el mismo algoritmo utilizado por Gzip). En este punto, BootX dibuja la pantalla de bienvenida del logotipo de Apple, e inicia el cursor de giro. Si arranca desde un dispositivo de red, en su lugar se dibuja un globo giratorio. Dependiendo de las diversas condiciones, BootX intenta recuperar y cargar el archivo de caché del kernel. El siguiente paso es quotdecodequot el kernel. Si el encabezado del kernel indica un núcleo comprimido, BootX intenta descomprimirlo (la compresión LZSS típica se utiliza, ya que comprime este tipo de datos una vez, pero lo amplía muchas veces). Puesto que el binario del kernel puede ser potencialmente un binario quotfatquot (código para arquitecturas múltiples que residen en el mismo binario), BootX comprueba si de hecho es (fat), y si es así, quotthinsquot (calcula el código de PowerPC). BootX intenta decodificar el archivo (posiblemente quotthinnedquot) como un binario Mach-O. Si esto falla, BootX también intenta decodificarlo como ELF. Si lo anterior falla, BootX renuncia, dibuja la imagen de arranque fallida y entra en un bucle infinito. Si BootX tiene éxito hasta el momento, guarda los aciertos, errores y desalojos del caché del sistema de archivos, configura varios argumentos y valores de arranque (como si se trata de un arranque gráfico o detallado, si hay algunos indicadores que se pasarán al kernel, De RAM instalada), y también llama a una función recursiva para aplanar el árbol del dispositivo. Por último, BootX quotcallsquot el kernel, inmediatamente antes de que quotquiescesquot Open Firmware, una operación como resultado de que cualquier tareas asíncronas en el firmware, temporizadores o DMA se detiene, etc Inicio del sistema Mac OS X nivel de inicio del usuario no es pura BSD Estilo, ni estilo SYSV, aunque la presencia de / etc / rc indica un patrimonio de BSD. De hecho, varias cosas son sorprendentemente similares a NEXTSTEP. La siguiente sección, XNU: The Kernel. Describe algunas de las cosas que hace el kernel a medida que surge. El inicio del sistema de Mac OS X continúa con una descripción del arranque (en su mayoría) a nivel de usuario. BootCache Mac OS X utiliza una optimización de arranque (efectivamente un readahead inteligente) llamado quotBootCachequot que supervisa el patrón de las solicitudes de lectura entrantes a un dispositivo de bloque (el disco de arranque) y ordena el patrón en una quotplaylistquot (también mide el caché hit Y almacena el patrón de solicitud en una lista de quotomía para ser adaptable en el futuro). El patrón de lectura cargable (ordenado) se almacena en /var/db/BootCache. playlist. Una vez cargado, el caché entra en efecto. Tenga en cuenta que esta característica requiere al menos 128 MB de RAM física antes de que esté habilitada (automáticamente). /System/Library/Extensions/BootCache. kext es la ubicación de la extensión del kernel que implementa la caché, mientras que Contents / Resources / BootCacheControl dentro de ese directorio es la utilidad de control a nivel de usuario (que te permite cargar la lista de reproducción, entre otras cosas). La eficacia de BootCache se puede medir a partir de lo siguiente: en una actualización reciente a quotPantherquot, una referencia a BootCacheControl se ha roto. BootCache se inicia (a través de la utilidad de control) en / etc / rc. Y se inserta una etiqueta de prefetch (a menos que el sistema esté arrancando en modo seguro). / Etc / rc busca BootCacheControl en el directorio quotkextquot, así como en / usr / sbin. Y lo encuentra en el primero (no existe en el segundo). Sin embargo, otro programa (posiblemente loginwindow. app) accede a / usr / sbin / BootCacheControl directamente y no lo encuentra. Por lo que vale la pena, haciendo que BootCacheControl esté disponible en / usr / sbin. Por ejemplo, a través de un enlace simbólico, reduce el tiempo de arranque (medido al hacer clic en el botón de confirmación del punto de referencia hasta el punto en el que absolutamente todo ha aparecido en el menú del sistema) de 135 segundos a 60 segundos en una de mis máquinas


No comments:

Post a Comment