Rotação automática do SO usando o GRUB

1

Tenho vários servidores de teste que realizam testes de unidade e testes de hardware em algumas placas PCI e PCIe que minha empresa produz. Esses servidores são multi-boot com várias distribuições Linux e edições do Windows instaladas. Eu gostaria de automatizar os testes, mas eles precisam ser capazes de reiniciar automaticamente no próximo sistema operacional após o término da suíte de testes. Existe uma maneira de reiniciar em um sistema operacional específico, usando scripts bash / batch?

Eles atualmente usam o GRUB, qualquer que seja a versão que vem com o Ubuntu 12.04, mas eu não me oponho a usar um bootloader diferente se houver um que facilite isso.

    
por TJ Mott 20.02.2014 / 17:41

2 respostas

1

Você pode alterar a configuração do grub após cada teste e definir outra (próxima) opção de inicialização padrão.

Assim, após cada teste, você modificaria a configuração do grub, definiria a opção de inicialização padrão para a próxima instalação do SO e reinicializaria. Isso pode ser simplesmente roteirizado no linux, mas parece ser possível no Windows também ( link ).

    
por 20.02.2014 / 17:46
0

Arriscado e exigiria alguns testes, mas por que você não faz um roteiro?
Gere seu grub.conf via script de shell, e execute seu script de shell na inicialização (por exemplo, coloque-o em rc.local)

Coloque seus scripts em / root / grubscript

Tenha um wrapper chamado / root / grubscript/wrapper.sh (que é executado por rc.local)

Digamos que você tenha quatro sistemas operacionais, crie quatro arquivos grub

/root/grubscript/grub.conf.1.txt
/root/grubscript/grub.conf.2.txt
/root/grubscript/grub.conf.3.txt
/root/grubscript/grub.conf.4.txt

Seu script wrapper fará isso (assumindo que o grub.conf esteja em /boot/grub/grub.conf)

#!/bin/bash

cp -p /root/grubscript/grub.conf.1.txt /boot/grub/grub.conf 
mv /root/grubscript/grub.conf.1.txt /root/grubscript/grub.conf.5.txt
mv /root/grubscript/grub.conf.2.txt /root/grubscript/grub.conf.1.txt
mv /root/grubscript/grub.conf.3.txt /root/grubscript/grub.conf.2.txt
mv /root/grubscript/grub.conf.4.txt /root/grubscript/grub.conf.3.txt
mv /root/grubscript/grub.conf.5.txt /root/grubscript/grub.conf.4.txt

Você tem a ideia. Teste-o manualmente primeiro, executando-o a partir da linha de comando e verifique se o /boot/grub/grub.conf roda corretamente

Finalmente, por favor, primeiro faça o backup do seu grub.conf atual

cp -p /boot/grub/grub.conf /boot/grub/grub.conf.ORIGINAL

E tenha um DVD de instalação à mão para inicializar no modo de recuperação se durante as reinicializações um dos seus arquivos grub não estiver funcionando

Isso ajuda?

    
por 21.02.2014 / 01:39