Bios Ppc Binary Options
Usando o QEMU para o desenvolvimento de plataformas cruzadas Uma vantagem da virtualização é estender a utilidade do hardware de computação, permitindo que um único computador (o host) atenda várias funções executando vários sistemas operacionais convidados. No entanto, muitas das ferramentas de virtualização mais populares ainda estão limitadas de forma arquitetônica, permitindo que você execute vários sistemas operacionais para a mesma arquitetura, como vários sistemas operacionais x86-64 em um único computador x86-64. O QEMU pode fazer isso, mas também pode executar sistemas operacionais de uma forma multi-plataforma. Esse recurso pode ajudá-lo a testar os recursos específicos da plataforma do seu programa sem adicionar mais computadores à sua mesa. Para usar o QEMU para o desenvolvimento de plataformas cruzadas, é necessário configurá-lo e instalar sistemas operacionais convidados. Você pode precisar saltar através de alguns aros extras para fazer isso para o desenvolvimento multi-plataforma. Com o emulador em funcionamento, você pode investigar alguns recursos do QEMU que podem ajudá-lo a gerenciar seus esforços de desenvolvimento entre plataformas, como permitir transferências de arquivos ou compartilhamento de arquivos entre o emulador e seu host. Instalando o QEMU Você pode instalar QEMU facilmente através de um gerenciador de pacotes, mas talvez seja necessário investigar um pouco mais se você planeja usar o programa para desenvolvimento de software multi-plataforma. Por exemplo, você deve entender suas opções para a instalação do QEMU, bem como a instalação dos arquivos de suporte necessários, como o firmware. Você também deve entender a diferença entre emulação de sistema e emulação de espaço de usuário, porque cada um requer sua própria instalação de software adicional. Como obter pacotes QEMU e software de suporte Como com a maioria dos pacotes de software Linux, é possível instalar o QEMU de duas formas principais: usando o gerenciador de pacotes de distribuição ou compilando o software a partir do código-fonte. Comandos como apt-get install qemu (no Debian ou Ubuntu), yum install qemu (no Red Hat ou Fedora) ou qemu emerge (no Gentoo) instalam o pacote QEMU principal em distribuições comuns. (Consulte a documentação das distribuições para obter detalhes.) Os pacotes QEMU fornecidos pela distribuição funcionam bem, mas eles tendem a ficar atrás dos lançamentos mais recentes e podem estar faltando arquivos importantes, como o firmware para sistemas não-x86. Assim, talvez seja necessário instalar o software a partir do código-fonte, que você pode obter no site da QEMU (consulte Recursos para um link). Digitar ./configure --help no diretório de origem produz uma lista de opções de configuração para que você possa personalizar o QEMU de acordo com suas necessidades. Depois disso, os comandos make e make install habituais compilam e instalam o software. Enquanto escrevo, a versão estável mais recente do QEMU é 0.11.1, mas uma versão candidata a versão 0.12 também está disponível. Eu uso 0.11.1 como a referência para este artigo. Se você estiver usando QEMU em um computador x86 ou x86-64 para emular o mesmo, você pode estar interessado em KQEMU. Este é um módulo do kernel do Linux que fornece virtualização de CPU acelerada, semelhante à fornecida por Xen ou Kernel-based Virtual Machine (KVM). O KQEMU não faz parte do kernel padrão do Linux, mas você deve baixá-lo do site da QEMU ou instalá-lo em um pacote separado. Certifique-se de que as versões do QEMU e KQEMU usam KQEMU 1.3 com QEMU 0.9.1 e versões anteriores e KQEMU 1.4 com versões mais recentes do QEMU. O site QEMU principal inclui vários arquivos de imagem de disco QEMU pré-fabricados. Estes incluem instalações de Linux em várias plataformas, FreeBSD e FreeDOS. Você pode baixar esses arquivos para testar sua instalação básica. Quando o sistema está funcionando, você pode expandir os sistemas fornecidos ou instalar um novo a partir do zero. O pacote 0.11.1 QEMU vem com firmware para plataformas x86, x86-64, PowerPC, SPARC 32 e SPARC 64, juntamente com arquivos de firmware separados para a placa de vídeo emulada, arranque de PXE (Preboot Execution Environment) e outras opções. Consulte o subdiretório pc-bios do pacote principal, ou / usr / share / qemu em um sistema instalado, para os arquivos específicos. Às vezes, o firmware fornecido com QEMU é inadequado. Por exemplo, o firmware para sistemas x86 e x86-64 é um sistema básico de entrada / saída (BIOS) tradicional. Se você deseja desenvolver ou testar softwares que dependem da mais recente Extensible Firmware Interface (EFI) ou de um firmware mais exótico, talvez seja necessário encontrá-lo em outro local. Uma imagem EFI é fornecida no site QEMU, de modo que determinada condição é fácil de satisfazer. Outros podem ser mais difíceis. Talvez seja necessário fazer uma pesquisa na Web em termos de chave relevantes se você precisar executar um tipo específico de firmware. Emulação System vs. User-Space QEMU fornece dois modos de emulação. A primeira, a emulação do sistema, configura uma máquina virtual completa. O software rodando neste sistema vê um computador que pode ser bastante diferente do sistema host8212, por exemplo, você pode executar um sistema PowerPC Debian no topo de um computador x86-64 openSUSE real. A emulação do modo de usuário é menos completa. Nessa abordagem, você aplica as bibliotecas de emulação QEMU a binários individuais, que vêem o computador host como seu, de modo que um binário do PowerPC possa ver o diretório x86-64 do sistema openSUSE / etc e outros arquivos de configuração. A emulação de modo de usuário pode simplificar o acesso a recursos locais, redes e assim por diante. Cada abordagem de emulação tem seus próprios requisitos de configuração. Para a emulação do sistema, você deve instalar um sistema operacional cliente como se estivesse configurando um computador físico separado. (Fazer o download e usar uma imagem de disco pré-configurada é uma abordagem alternativa.) Para a emulação de espaço de usuário, você não precisa configurar um sistema inteiro, mas talvez seja necessário configurar todas as bibliotecas de suporte requeridas pelo software em questão. Você também pode precisar configurar um compilador cruzado para gerar os binários que você pretende testar. Porque o ponto deste artigo está usando QEMU para desenvolver e testar software multi-plataforma, o que pode implicar subtile hardware interações, enfatizo a emulação do sistema. Se você decidir que a emulação de espaço do usuário é adequada para suas necessidades, você pode investigar mais. Instalando sistemas operacionais convidados Antes de usar o QEMU no modo de emulação do sistema, você deve instalar um sistema operacional convidado. Como mencionado anteriormente, você pode usar uma imagem de disco pré-instalada ou preparar uma imagem de disco para uma nova instalação. Neste último caso, você deve primeiro preparar uma imagem de disco para a instalação, mas o processo de instalação em si é semelhante ao da instalação em um computador normal. De qualquer forma, você deve estar ciente das opções importantes de lançamento do QEMU que afetam a instalação eo uso do sistema. Preparando imagens de disco Normalmente, você emprega arquivos de disco como suporte para discos rígidos ao usar QEMU. Alternativamente, você pode colocar de lado partições ou usar montagens de rede para alguns ou todos os armazenamento no entanto, arquivos de disco são convenientes e flexíveis, por isso, enfatizar o seu uso. O QEMU suporta vários formatos de arquivos diferentes para seus discos emulados, sendo os mais úteis imagens de disco em bruto, formato VMware 3/4 e QEMUs nativos de cópia-em-escrita versões 1 (QCOW) e 2 (QCOW2). O comando qemu-img cria imagens de disco. Este comando tem muitas opções, mas seu uso básico é bastante simples: passe o parâmetro create, o parâmetro - f fmt para definir o formato, o nome do arquivo e o tamanho da imagem. As imagens Raw (-f raw) são úteis para trocar dados com outros emuladores, no entanto, QCOW2 (-f qcow2) suporta compressão, permitindo criar discos aparentemente grandes em espaços relativamente pequenos. Por exemplo, o seguinte comando cria um arquivo de imagem de disco de 200GB. Inicialmente, este arquivo consome pouco espaço em disco no host (apenas 256KB) no entanto, ele cresce em tamanho conforme usado: Além de criar sua imagem de disco rígido, você pode precisar criar um arquivo de imagem contendo o seu meio de instalação. Você pode apontar o QEMU na sua unidade óptica real ou especificar um arquivo que contenha uma imagem de disco óptico, como uma que você tenha baixado da Internet ou criada a partir de um disco físico. Opções de lançamento do QEMU Para iniciar a instalação ou o uso do QEMU, você deve iniciar o programa com as opções apropriadas para permitir o uso do emulador. A documentação QEMU fornece informações sobre muitas opções obscuras, mas você pode ser capaz de obter por apenas alguns. Em particular, você deve especificar sua imagem ou imagens de disco rígido e seu meio de instalação ou imagem. Opções também existem para selecionar diferentes arquivos de firmware, definir vários recursos de hardware, e assim por diante. Você pode querer começar simplesmente e trabalhar até configurações mais complexas. Uma instalação QEMU completa inclui vários binários, cada um dos quais emula uma arquitetura de CPU diferente. Os nomes de arquivos binários assumem a forma qemu-system-arch. Onde arco é um código de arquitetura, como ppc para PowerPC ou x8664 para x86-64. Uma exceção são os sistemas x86, que são emulados através do binário qemu. Binários com nomes do formulário qemu-arch fornecem emulação de modo de usuário para suas respectivas arquiteturas. Para especificar discos rígidos, use - hda. - hdb. - hdc. E - hdd para se referir a discos ATA paralelo (PATA), e - cdrom para identificar um arquivo de imagem de CD ou DVD ou dispositivo. Todas essas opções consideram um nome de arquivo como um parâmetro. A unidade óptica toma o lugar de - hdc. Assim você não pode usar ambas as opções simultaneamente. Outra opção de lançamento QEMU importante é - boot. Que especifica o dispositivo de inicialização. Usando - boot c carrega do primeiro disco rígido e-boot d inicia a partir do dispositivo de CD-ROM. Por padrão, QEMU fornece o sistema operacional convidado apenas 128MB de RAM. É provável que você deseje aumentar a memória disponível com a opção - m, que leva um valor em megabytes. Ao juntar essas opções, a instalação do sistema PowerPC do Debians usando o QEMU pode ter a seguinte aparência: Este exemplo assume que o arquivo debian-ppc. iso contém uma cópia do disco de instalação do Debian PowerPC e que é inicializável usando o firmware padrão. Essas opções funcionam para mim usando QEMU 0.11.1 e Debian 5.02a no entanto, QEMU pode ser finicky, então você pode precisar encontrar uma solução para um problema. Quando o sistema estiver instalado, você pode usar um comando quase idêntico para iniciar o sistema de trabalho. 8212just change-boot d to - boot c. Advertências, sugestões e soluções alternativas Um bloqueio comum, especialmente se você está tentando inicializar uma arquitetura desconhecida, é que o disco de instalação pode não ser inicializável. Uma maneira de contornar esse problema é especificar um arquivo de firmware diferente com a opção-bios, que leva um nome de arquivo de firmware como uma opção. Tente ler os arquivos de firmware em / usr / local / share / qemu (ou um diretório semelhante em / usr / share se você instalou usando um pacote de distribuição). Você também pode encontrar outras opções de firmware por meio de uma pesquisa na Web. Uma solução alternativa semelhante é usar a opção - M para especificar um subtipo de arquitetura. Digite qemu-system-arch - M. Para saber quais são os valores legais para sua arquitetura. Outra alternativa é usar a opção - kernel para passar o nome de um arquivo de kernel do Linux para a plataforma de convidado no disco do host, e o QEMU carrega e executa, ignorando quaisquer carregadores de inicialização ou recursos de firmware específicos da plataforma que possam estar lhe dando problemas. Como o QEMU emula a CPU de plataformas de destino, pode ser bastante lento, então você deve estar preparado para gastar mais do que o habitual, instalando seu sistema operacional convidado. Se possível, você deve manter os requisitos mínimos de instalação e evitar o X Window System. Com o QEMU instalado e funcionando, ele é executado no modo de texto ou no modo de gráficos em uma janela do sistema local. A Figura 1 mostra um desktop com três sessões QEMU, executando o Windows XP sob a emulação x86, o FreeBSD sob a emulação x86-64 e o Debian Linux sob a emulação do PowerPC. Figura 1. O QEMU permite que você execute vários sistemas operacionais em várias plataformas emuladas Usando o QEMU efetivamente Depois de instalar o sistema operacional convidado, você pode começar a usá-lo para desenvolvimento ou teste de software. Você precisa ser capaz de transferir arquivos entre o convidado eo host. Existem várias maneiras de realizar essa tarefa, mas usar uma rede emulada geralmente é a abordagem mais flexível. Você também deve considerar as capacidades e limitações da emulação QEMUs com relação ao desenvolvimento de software para tirar melhor proveito do emulador. Gerenciando transferências de arquivos O QEMU fornece várias opções de rede. O padrão é o modo de rede em modo usuário, que é semelhante a uma configuração de conversão de endereço de rede (NAT): O sistema operacional convidado pode usar clientes de rede para contatar outros computadores, incluindo o sistema operacional host e outros servidores de rede, O sistema operacional convidado sem configuração especial. QEMU fornece o seu próprio Dynamic Host Configuration Protocol (DHCP) e servidores DNS (Domain Name System) para o benefício do sistema operacional convidado sozinho. Para o sistema operacional convidado, parece que o host é um sistema de gateway. Essa configuração padrão é adequada se você planeja usar o Sistema de Arquivos de Rede (NFS), o SMB (Server Message Block) / o Sistema de Arquivos de Internet Comum (CIFS), o Secure Shell (SSH) ou outros clientes do convidado para transferir arquivos de e para O hospedeiro. No entanto, você deve executar um servidor apropriado no host. Se você quiser iniciar conexões na outra direção, você deve usar a opção - redir para redirecionar uma porta no sistema host para o sistema operacional convidado. Por exemplo, o seguinte comando redirecciona a porta de hosts 2222 para a porta de convidados 22: O resultado da emissão deste comando é que você pode usar o SSH para fazer logon no convidado do host digitando ssh localhost - p 2222. Você também pode acessar o Convidados de outros computadores da sua rede, para que você possa configurar novas regras de firewall. Claro, você precisa ter um servidor SSH rodando no sistema operacional convidado. Você pode redirecionar NFS, SMB / CIFS ou outras portas de uma maneira similar. Dicas de desenvolvimento de software Com a QEMU configurando e executando um sistema operacional convidado, agora você pode iniciar seu desenvolvimento de software. Você pode usar um compilador nativo executando sob o emulador ou um compilador cruzado em seu host. Para grandes projetos de desenvolvimento em que você repetidamente compilar e testar o software no sistema operacional convidado, um compilador cruzado é mais rápido, mas configurar essa configuração está além do escopo deste artigo. Um compilador em execução no emulador deve ser adequado para projetos menores ou se você não compilar o software com freqüência. Para o seu software, o computador parece ser um exemplo genuíno da plataforma de destino para fins mais práticos. Recursos como endianness, identificação de CPU e outros fundamentos de hardware funcionam exatamente como fazem em um computador genuíno. Eu usei um PowerPC Apple iMac genuíno e um sistema PowerPC baseado em QEMU para desenvolver e testar a versão PowerPC do meu programa fdisk de tabela de partição (GPT) globalmente identificável (GUID), que precisa saber sobre o endianness CPUs. Para os meus propósitos, o sistema baseado em QEMU é indistinguível do iMac real, além do fato de que o sistema QEMU é um pouco mais lento. Dito isto, existem diferenças se você cavar fundo o suficiente. Por exemplo, QEMUs emulados discos rígidos retornar uma seqüência de modelo de QEMU HARDDISK em vez de um fabricante de disco rígido real e modelo. QEMUs hardware virtual é também, em geral, um pouco datado discos aparecem todos os PATA ou Small Computer System Interface (SCSI) dispositivos, dependendo da plataforma, eo hardware de vídeo é antiga. Você pode encontrar detalhes sobre o hardware virtual na documentação do QEMU. Observe que esses detalhes variam de uma plataforma de convidado para outra. Em Linux, as sessões QEMU consomem pouco tempo de CPU exceto quando o sistema operacional convidado está fazendo o trabalho. As sessões do QEMU consomem a quantidade de RAM que você dá a elas. Assim, como uma questão prática, você pode precisar de muita memória em seu sistema host, especialmente se você planeja executar mais de uma ou duas sessões QEMU simultaneamente. Indo mais longe QEMU é um grande pacote com muitas opções, muitas das quais podem ser interessantes para pelo menos alguns desenvolvedores. Por exemplo, você pode alterar o modelo da placa de rede emulada, dar à máquina hóspede um endereço IP separado em sua rede real, redirecionar várias portas de hardware para o sistema operacional convidado e ajustar uma grande variedade de opções de hardware. Se tais recursos forem importantes para você, a documentação do QEMU será inestimável. Obtenha produtos e tecnologias Visite o site da QEMU para baixar o QEMU e ferramentas relacionadas, leia a extensa documentação e encontre links para outros recursos. Com software de avaliação IBM. Disponível para download diretamente do developerWorks, crie seu próximo projeto de desenvolvimento no Linux. Envolva-se na comunidade My developerWorks. Conecte-se com outros usuários do developerWorks enquanto explora os blogs, fóruns, grupos e wikis. dmidecode (8) - Página man do Linux dmidecode - Descodificador de tabela DMI Descrição dmidecode é uma ferramenta para despejar um conteúdo de tabela de computadores DMI (alguns dizem SMBIOS) Em um formato legível por humanos. Esta tabela contém uma descrição dos componentes de hardware do sistema, bem como outras informações úteis, como números de série e revisão do BIOS. Graças a esta tabela, você pode recuperar essas informações sem precisar examinar o hardware real. Embora este seja um bom ponto em termos de velocidade de relatório e segurança, isso também torna a informação apresentada possivelmente não confiável. A tabela DMI não descreve apenas o que o sistema é feito atualmente, mas também pode relatar as evoluções possíveis (como a CPU mais rápida suportada ou a quantidade máxima de memória suportada). SMBIOS significa BIOS de gerenciamento de sistema. Enquanto DMI significa Desktop Management Interface. Ambos os padrões são fortemente relacionados e desenvolvidos pelo DMTF (Desktop Management Task Force). Como você executá-lo, dmidecode tentará localizar a tabela DMI. Se for bem-sucedido, ele analisará esta tabela e exibirá uma lista de registros como este: Identificador 0x0002, DMI tipo 2, 8 bytes. Informações da placa base Fabricante: Intel Nome do produto: C440GX Versão: 727281-001 Número de série: INCY92700942 Cada registro tem: Um identificador. Este é um identificador exclusivo, que permite que os registros façam referência um ao outro. Por exemplo, os registros de processador geralmente fazem referência a registros de memória cache usando seus identificadores. Um tipo. A especificação SMBIOS define diferentes tipos de elementos de que um computador pode ser feito. Neste exemplo, o tipo é 2, o que significa que o registro contém informações da placa base. Um tamanho. Cada registro tem um cabeçalho de 4 bytes (2 para o identificador, 1 para o tipo, 1 para o tamanho), o restante é usado pelos dados do registro. Este valor não leva as seqüências de caracteres de texto em conta (estas são colocadas no final do registro), portanto, o comprimento real do registro pode ser (e muitas vezes) maior do que o valor exibido. Valores decodificados. As informações apresentadas, obviamente, dependem do tipo de registro. Aqui, nós aprendemos sobre o fabricante de placas, modelo, versão e número de série. - d. --dev-mem FILE Ler memória do dispositivo FILE (padrão: / dev / mem) - q. --quiet Seja menos verboso. As entradas desconhecidas, inativas e OEM não são exibidas. Meta-dados e identificador referências estão ocultos. - s. --string KEYWORD Exibe somente o valor da string DMI identificado por KEYWORD. KEYWORD deve ser uma palavra-chave da lista a seguir: bios-vendor. Bios-versão. Bios-release-date. Fabricante do sistema. System-product-name. Versão do sistema. Número de série do sistema. System-uuid. Baseboard-fabricante. Baseboard-product-name. Baseboard-versão. Baseboard-serial-number. Baseboard-asset-tag. Chassis-fabricante. Tipo chassis. Chassis-versão. Chassis-serial-number. Chassis-asset-tag. Processador-família. Processador-fabricante. Processador-versão. Processador-freqüência. Cada palavra-chave corresponde a um determinado tipo de DMI e a um determinado deslocamento dentro desse tipo de entrada. Nem todas as strings podem ser significativas ou mesmo definidas em todos os sistemas. Algumas palavras-chave podem retornar mais de um resultado em alguns sistemas (por exemplo, a versão do processador em um sistema com vários processadores). Se KEYWORD não for fornecido ou não é válido, uma lista de todas as palavras-chave válidas é impressa e dmidecode sai com um erro. Esta opção não pode ser utilizada mais de uma vez. - t. --type TYPE Exibe apenas as entradas do tipo TYPE. TYPE pode ser um número de tipo DMI ou uma lista de números de tipo separados por vírgulas ou uma palavra-chave da lista a seguir: bios. Sistema. Rodapé Chassis Processador. Memória. Cache. Conector. Slot. Consulte a seção DMI TYPES abaixo para obter detalhes. Se esta opção for usada mais de uma vez, o conjunto de entradas exibidas será a união de todos os tipos dados. Se TYPE não for fornecido ou não é válido, uma lista de todas as palavras-chave válidas é impressa e dmidecode sai com um erro. - você . --dump Não decodificar as entradas, despeje seu conteúdo como hexadecimal em vez disso. Observe que isso ainda é uma saída de texto, nenhum dado binário será lançado sobre você. As cadeias anexadas a cada entrada são exibidas como hexadecimal e ASCII. Essa opção é útil principalmente para depuração. --dump-bin FILE Não decodificar as entradas, em vez de despejo os dados DMI para um arquivo em forma binária. O arquivo gerado é adequado para passar para --from-dump mais tarde. --from-dump FILE Ler os dados DMI de um arquivo binário gerado anteriormente usando --dump-bin. - h. --help Exibe informações de uso e saia - V. --version Exibir a versão e sair Opções --string, --type e --dump-bin determinam o formato de saída e são mutuamente exclusivos. A especificação SMBIOS define os seguintes tipos de DMI: Recursos / KVM KVM (Kernel Virtual Machine) é um módulo de kernel do Linux que permite que um programa de espaço do usuário utilize os recursos de virtualização de hardware de vários processadores. Hoje, suporta processadores Intel e AMD recentes (x86 e x8664), PPC 440, PPC 970, S / 390, processadores ARM (Cortex A15, AArch64) e MIPS32. QEMU pode fazer uso do KVM ao executar uma arquitetura de destino que é o mesmo que a arquitetura de host. Por exemplo, ao executar o qemu-system-x86 em um processador compatível com x86, você pode aproveitar a aceleração do KVM - dando-lhe benefícios para seu host e seu sistema convidado. O projeto KVM usado para manter um fork do QEMU chamado qemu-kvm. Todas as diferenças de características foram fundidas em QEMU upstream eo desenvolvimento da forqueta suspenso. Para usar KVM pass --enable-kvm para QEMU. Conteúdo disponível sob GNU Free Documentation License 1.2 QEMU é uma marca registrada de Fabrice Bellard. Hosting generosamente fornecido pela OSUOSL.
Comments
Post a Comment