Coloca o MacOS Catalina em uma caixa vagabunda.
Algumas seqüências encurtadas. Tempo de execução original 14,5 minutos.
Suporta a criação de caixas nos formatos 'vmware_fusion', 'vmware_desktop', 'paralelos' ou 'virtualbox'.
O software a seguir é necessário. Versões diferentes das mencionadas podem funcionar, mas essas são as versões mais recentes testadas.
Para inicializar uma caixa criada pelo macinbox , você precisará do Vagrant:
Para criar uma caixa, você precisará de um aplicativo MacOS Installer. Se você estiver usando um host Catalina, deve usar um instalador Catalina:
Os hosts da Catalina não podem usar os instaladores anteriormente (por exemplo, MacOS 10.14 Mojave), e os hosts Mojave não podem usar os instaladores da Catalina.
Se você estiver usando um host Mojave, use um instalador Mojave:
Recomenda-se que você use a mesma versão para o host e o instalador, mas as versões anteriores do instalador do MacOS (por exemplo, MacOS 10.13 High Sierra) também podem funcionar com hosts Mojave e vice-versa.
Nota: Se você tiver dúvidas sobre a permissibilidade de virtualizar o MacOS, poderá revisar a documentação do software de virtualização que você está usando e do contrato de licença de software para o MacOS.
É necessário um dos seguintes aplicativos de virtualização:
Para criar e inicializar uma caixa nos formatos 'vmware_fusion' ou 'vmware_desktop' de que você precisará:
Para criar e inicializar uma caixa no formato 'Parallels', você precisará:
Para criar e inicializar uma caixa no formato 'VirtualBox', você precisará:
Instale a gema:
$ sudo gem install macinbox
Execute com sudo e sem argumentos, a ferramenta macinbox criará e adicionará uma caixa VMware Vagrant chamada 'MacinBox', que inicializa a tela cheia na área de trabalho do usuário 'Vagrant':
$ sudo macinbox
Por favor, seja paciente, pois isso pode demorar um pouco. (Em um MacBookPro11,5 de 2,5 GHz, leva cerca de 11 minutos, 30 segundos.) Após a conclusão da ferramenta, você pode criar um novo ambiente de vagabundo com a caixa e iniciá -lo:
$ vagrant init macinbox && vagrant up
Alguns momentos após a execução deste comando, você verá a tela da sua máquina virtual aparecer em tela cheia. (Pressione o comando-Control-f para sair do modo de tela cheia.) Depois que a máquina virtual concluir a inicialização (aproximadamente 1-2 minutos), você verá a área de trabalho do usuário 'Vagrant' e pode começar a usar a máquina virtual.
Para criar uma caixa de desktop paralelos, passe a opção --box-format :
$ sudo macinbox --box-format parallels
Para ver as opções avançadas, passe a opção --help :
Usage: macinbox [options]
--box-format FORMAT Format of the box (default: vmware_desktop)
-n, --name NAME Name of the box (default: macinbox)
-d, --disk SIZE Size (GB) of the disk (default: 64)
-t, --fstype TYPE Type for disk format (default: APFS)
-m, --memory SIZE Size (MB) of the memory (default: 2048)
-c, --cpu COUNT Number of virtual cores (default: 2)
-s, --short NAME Short name of the user (default: vagrant)
-f, --full NAME Full name of the user (default: Vagrant)
-p, --password PASSWORD Password of the user (default: vagrant)
--installer PATH Path to the macOS installer app
--installer-dmg PATH Path to a macOS installer app disk image
--vmware PATH Path to the VMware Fusion app
--parallels PATH Path to the Parallels Desktop app
--user-script PATH Path to user script
--no-auto-login Disable auto login
--no-skip-mini-buddy Show the mini buddy on first login
--no-hidpi Disable HiDPI resolutions
--no-fullscreen Display the virtual machine GUI in a window
--no-gui Disable the GUI
--use-qemu Use qemu-img (vmware_desktop only)
--verbose Enable verbose mode
--debug Enable debug mode
-v, --version
-h, --help
A ativação do modo de depuração faz com que os arquivos intermediários (imagem de disco, vmdk e caixa) sejam preservados após a saída da ferramenta em vez de ser limpa. AVISO!!! Esses arquivos intermediários são muito grandes e você pode ficar sem espaço em disco muito rapidamente ao usar essa opção.
Este exemplo avançado cria e adiciona uma caixa chamada 'MacinBox-Large-NOGUI' com 4 núcleos, 8 GB ou RAM e um disco de 128 GB; Desligamentos de login automático; e impede que a GUI da VMware seja mostrada quando a VM é iniciada:
$ sudo macinbox -n macinbox-large-nogui -c 4 -m 8192 -d 128 --no-auto-login --no-gui
Se você tiver a variável de ambiente Vagrant_home Conjunto e deseja que a caixa criada seja adicionada ao diretório 'Caixas' nesse local, você precisará dizer a Sudo para passar para MacinBox, por exemplo:
$ sudo "VAGRANT_HOME=${VAGRANT_HOME}" macinbox
Por padrão, macinbox configurará o sistema operacional convidado para que as resoluções HIDPI possam ativar e configurará a máquina virtual para usar a resolução de exibição nativa. Você pode desativar esse comportamento usando a opção --no-hidpi .
Por padrão, macinbox criará uma caixa Vagrant no formato 'vmware_desktop' com as ferramentas VMware pré-instaladas.
Quando o formato da caixa é definido como 'paralelos' usando a opção --box-format , as ferramentas de paralelos são pré-instaladas.
Quando o formato da caixa é definido como 'VirtualBox', nenhuma extensão de convidado é instalada. Observe que alguns recursos se comportam de maneira diferente com o VirtualBox. A resolução da tela é definida como 1280x800 e as resoluções HIDPI não são suportadas. O fator de escala da GUI é definido como 2.0 (para que a VM seja exibida corretamente em um host com uma tela retina), a menos que a opção --no-hidpi seja usada. Por fim, o ssh port-forwarding é ativado por padrão para que o host possa se conectar ao convidado.
Se for necessária personalização adicional de caixa, um script do usuário poderá ser especificado usando a opção --user-script . O script é executado após a instalação do sistema operacional e receberá o caminho para o local de instalação como seu primeiro e único argumento. O script deve ser executável e sair com o código zero ou a criação da caixa será abortada.
A opção --installer-dmg permite que você indique o caminho para uma imagem de disco que contém um instalador do MacOS e substitui a opção --installer . A imagem do disco especificada ainda não deve ser montada; macinbox montará e desmontará -o conforme necessário. Esse recurso permite que você use as imagens de disco do instalador criadas pelo InstallInstallMacos.py como parte do fluxo de trabalho macinbox .
Esta ferramenta executa as seguintes ações:
A caixa criada por esta ferramenta inclui um VagrantFile embutido que desativa os seguintes comportamentos de vagabundo padrão:
Para reativar o encaminhamento padrão da porta SSH, você pode adicionar a seguinte linha ao VagrantFile do seu ambiente:
config.vm.network :forwarded_port, guest: 22, host: 2222, id: "ssh"
Para reativar a pasta sincronizada padrão, você pode adicionar a seguinte linha ao VagrantFile do seu ambiente:
config.vm.synced_folder ".", "/vagrant"
Esta ferramenta pretende fazer tudo o que precisa ser feito com uma nova instalação de macOS antes da primeira inicialização para transformá -la em uma caixa de vagabundos que inicializa o macOS com uma experiência perfeita para o usuário. No entanto, essa ferramenta também se destina a fazer a menor quantidade de configuração possível. Nada é feito que poderia ser adiado para uma etapa de provisionamento em um modelo VagrantFile ou Packer.
Este projeto foi inspirado no grande trabalho de outros:
Este projeto se inspira em um episódio de Sr. Robot. No episódio, Elliot é mostrado inicializando rapidamente o que parecia ser uma máquina virtual executando um ambiente de desktop Linux novo, a fim de examinar o conteúdo de um CD-ROM não confiável. Enquanto eu assistia, pensei: "Quero poder fazer esse tipo de coisa com macOS!". Certamente não sou a única pessoa que baixou software não confiável da Internet e desejou que houvesse uma maneira fácil de avaliá -lo sem colocar em risco meu ambiente de trabalho principal?
Este projeto é um sucessor direto do meu projeto Vagrant-Box-Macos, que foi fortemente inspirado no projeto OSX-VM-Templates de Tim Sutton.
Com o lançamento do MacOS 10.12.4, as técnicas predominantes para personalizar as instalações do MacOS foram dificultadas por um novo requisito de instalador para que todos os pacotes sejam assinados pela Apple. Depois de tentar várias técnicas para permitir que vagrant-box-macos suportasse o MacOS 10.13 High Sierra, decidi que era necessária uma abordagem diferente para a criação de caixas, e macinbox nasceu.
Comece executando sudo gem install bundler e bundle install .
Para executar macinbox diretamente da raiz do espaço de trabalho Git sem instalar o gem, execute sudo bundle exec macinbox .
Para instalar esta gema em sua máquina local, execute sudo bundle exec rake install .
Você também pode executar bin/console para um prompt interativo que permitirá experimentar. Por exemplo:
opts = Macinbox::CLI::DEFAULT_OPTION_VALUES
opts[:collector] = Macinbox::Collector.new
opts[:full_name] = "Vagrant"
opts[:password] = "vagrant"
opts[:image_path] = "macinbox.sparseimage"
opts[:boxes_dir] = File.expand_path "~/.vagrant.d/boxes"
$debug = $verbose = true
include Macinbox::Actions
opts[:macos_version] = CheckMacosVersions.new(opts).run
CreateImageFromInstaller.new(opts).run
opts[:vmdk_path] = "macinbox.vmdk"
CreateVMDKFromImage.new(opts).run
opts[:box_format] = "vmware_desktop"
opts[:box_path] = "vmware_desktop.box"
CreateBoxFromVMDK.new(opts).run
InstallBox.new(opts).run
opts[:hdd_path] = "macinbox.hdd"
CreateHDDFromImage.new(opts).run
opts[:box_format] = "parallels"
opts[:box_path] = "parallels.box"
CreateBoxFromHDD.new(opts).run
InstallBox.new(opts).run
opts[:vdi_path] = "macinbox.vdi"
CreateVDIFromImage.new(opts).run
opts[:box_format] = "virtualbox"
opts[:box_path] = "virtualbox.box"
CreateBoxFromVDI.new(opts).run
InstallBox.new(opts).run
opts[:collector].cleanup!
Para lançar uma nova versão, atualize o número da versão no version.rb e, em seguida, execute bundle exec rake release , que criará uma tag git para a versão, push git cometa e tags e pressionará o arquivo .gem para rubygems.org.
Relatórios de bug e solicitações de puxar são bem -vindos no github em https://github.com/bacongravy/macinbox.