Como gravar um USB inicializável para o Fedora a partir do Ubuntu para uso no Virtual Box VM

2

Eu quero criar uma VM VirtualBox para o Fedora rodar em um sistema Ubuntu.

Estou tentando depurar um problema de TLS com conectividade a um servidor de API ao qual preciso me conectar. Essa conectividade é feita através de uma biblioteca Python-2.7 que chama a biblioteca requests . Esta conectividade falhou em duas versões diferentes do Ubuntu. Eu quero ver se funcionaria no Fedora - por outro lado, este teste não provaria nada se o guest Fedora VM estivesse confiando no código ssl do host. Eu simplesmente não sei. Estou perdendo meu tempo com isso?

Seja em maio, eu não posso nem conseguir uma unidade USB inicializável para o Fedora. Eu baixei Fedora-Workstation-Live-x86_64-28-1.1.iso e depois queimei no pen drive (após a formatação) com o comando

sudo dd if=~/Downloads/Fedora-Workstation-Live-x86_64-28-1.1.iso of=/dev/sdb1

Isso supostamente foi bem-sucedido, mas quando tentei construir uma VM inicializando a partir disso, a tela começou a aparecer, mas logo se transformou em mingau gráfico. Eu também tentei arrancar a partir do stick USB. Eu reiniciei o computador, apertei F12, escolhi o pendrive. O computador girou por alguns segundos, depois desistiu e me retornou para a tela do dispositivo de boot.

Então, duas perguntas:

  1. Será que um aplicativo python usando a biblioteca de solicitações usará o guest do Fedora? código de rede ou o host do Ubuntu?
  2. Por que o Fedora não inicializa o pendrive?

Atualização: O problema 2 é respondido. O comando dd estava errado. Ainda não tenho certeza sobre o problema 1. Vou abrir outro problema sobre a instalação na máquina virtual.

    
por Steve Cohen 08.05.2018 / 22:31

3 respostas

3

dd é vítima do armazenamento em cache de gravações e você acaba gravando uma imagem parcialmente gravada no pendrive.

Use oflag=direct e chame sync depois de dd :

dd if=yourimage of=yourUSBdevice bs=16M oflag=direct; sync

Também é uma boa ideia usar o comando abaixo para todas as unidades flash USB

hdparm -W 0 /yourUSBdevice

mas não sei como aplicar isso à montagem automática baseada em FUSE do Linux moderno para /run/media , como nunca me preocupei em descobrir.

    
por 08.05.2018 / 22:46
2

Erro óbvio é 'sdb 1 '. ' 1 ' aqui significa a partição número 1. Você precisa escrever em ' disco ' não ' partição '. Use ' sdb ' (sem '1').

sudo dd if=~/Downloads/Fedora-Workstation-Live-x86_64-28-1.1.iso of=/dev/sdb

Use o comando sync para garantir que tudo esteja realmente gravado em USB.

Nem todos os .iso suportam a inicialização a partir de USB, então, mesmo que seja escrito corretamente, ele pode falhar na inicialização.

    
por 08.05.2018 / 23:08
0

Em relação à primeira pergunta que você colocou, qualquer programa em execução em uma máquina virtual usará o kernel e as bibliotecas no convidado, não no host (o que faz sentido: um convidado do Windows não poderá chamar bibliotecas diretamente em um Host Linux, ou vice-versa.) Contanto que sua VM do Fedora tenha essencialmente a mesma configuração do Python que suas máquinas Ubuntu, você deve ser capaz de fazer uma comparação válida entre elas.

(A única exceção nit-picky para isso é a interface que o VirtualBox fornece ao convidado: por exemplo, o adaptador de rede do convidado está sendo implementado como uma série de chamadas de rede no host. Entretanto, a menos que haja um bug no VirtualBox ou seu host não deve afetar seus testes.)

Eu recomendaria postar uma outra Stack Overflow com o código não funcional: sendo forçado a executar um programa em uma versão específica / distribuição não é divertido e é extremamente frágil.

    
por 09.05.2018 / 01:55