What is difference between U-Boot and BIOS ? Are both these devices present on a particular CPU or once a single device can be present at a time?
Existem inúmeras diferenças entre o U-Boot e um BIOS.
BTW, estes são software e não "dispositivos".
-
O BIOS é essencialmente um conceito de PC, tendo aparecido nos computadores pessoais CP / M e no IBM PC original.
O U-Boot tenta fazer jus ao seu nome ("Universal Boot") e foi portado para muitas arquiteturas / plataformas. -
As funções do BIOS incluem a inicialização básica do sistema após uma reinicialização ou energização, executando Testes Automáticos de Potência (também conhecidos como POST), fornecem uma interface de configuração de hardware interativa (também conhecida como configuração do BIOS) e inicializam o PC. O uso dos drivers de dispositivo integrados do BIOS original do IBM PC foi abandonado em favor dos drivers de dispositivo do sistema operacional. As funções do U-Boot incluem a inicialização básica do sistema e o bootstraping do sistema. A seqüência de inicialização pode opcionalmente ser abortada para entrar em uma sessão de linha de comando interativa. Como o U-Boot é extensível, qualquer número de recursos pode ser configurado ou adicionado, como POST e outros diagnósticos, utilitários de manutenção do sistema de arquivos, recursos de rede como recuperação de hora do dia (SNTP) ou endereço IP (cliente DHCP) e leitura / gravação / modificação de locais de memória. Os recursos e recursos reais do U-Boot variam de sistema / instalação para sistema.
-
O BIOS lida com a inicialização do PC como primeiro bootloader. Ele normalmente é executado no local (XIP) na memória Flash em que ele reside.
O U-Boot é tipicamente um segundo (ou mesmo terceiro) bootloader de estágio. Pode ser o bootloader de primeiro estágio como um BIOS, já que ele pode XIP, mas não sei se alguma plataforma realmente fez isso. Normalmente, o U-Boot é carregado a partir da memória Flash e executado na memória principal, por ex. SDRAM. -
Como um bootloader de primeiro estágio, o BIOS é bastante limitado, já que é carregado e executado, como o registro mestre de inicialização (MBR) de um disco rígido. O BIOS normalmente não carrega a imagem real do sistema operacional. O U-Boot, quando é fornecido o formato de arquivo uImage, está ciente do SO que está sendo carregado e pode preparar adequadamente buffers de memória e parâmetros para a inicialização adequada do sistema operacional.
-
O BIOS, como é baseado em PC, geralmente usa o adaptador de vídeo e o teclado como dispositivos de E / S de operador. Normalmente, o U-Boot usa uma porta serial RS232 como o dispositivo de E / S do operador.
-
O IBM PC BIOS original foi publicado nos documentos técnicos do IBM PC como uma listagem de linguagem assembly x86. Versões modernas vendidas pela AMI, Award e Phoenix são proprietárias.
O U-Boot é lançado sob a GNU GPL.
O Linux em PCs geralmente usa o Grub como o programa de boot post-BIOS. Suponho que o U-Boot possa ser usado no lugar do Grub, mas não sei as razões a favor ou contra tal implementação.