Helios: a distribuição illumos que executa o Oxide Rack
(github.com/oxidecomputer)- Helios é uma distribuição illumos que executa o Oxide Rack, e as ferramentas e a documentação deste repositório de nível superior reúnem várias consolidações de software para gerenciar a build da distribuição completa
- A distribuição usa a branch stlouis do illumos-gate como sistema operacional principal e fornece principalmente pacotes stock do illumos com componentes adicionais para o hardware da Oxide e algumas transformações de empacotamento
- Nem todos os repositórios de componentes estão públicos, e as consolidações privadas podem ser excluídas do clone e da build com
OXIDE_STAFF=no gmake setup - A build de pacotes próprios usa um ambiente Helios recente com
rustup,gmake setupe ohelios-buildbaseado em Rust, e durante o desenvolvimento é possível fazer uma quick build desativando o shadow compiler e algumas verificações - Os resultados da build podem ser instalados no ambiente de boot local, distribuídos para outros sistemas de teste com
pkg.depotdou inspecionados apenas como repositório de pacotes transformados sem instalação
Papel e composição do Helios
- Helios é uma distribuição illumos que executa o Oxide Rack
- A distribuição completa é composta por várias consolidações de software, e as ferramentas e a documentação deste repositório de nível superior conduzem a build
- As consolidações públicas incluem:
- boot-image-tools: ferramentas para montar imagens de boot para hardware da Oxide
- garbage-compactor: scripts de build para pacotes fora do sistema operacional principal
- helios-omicron-brand: zone brand para componentes do Omicron
- helios-omnios-build: scripts de build para pacotes fora do sistema operacional principal
- helios-omnios-extra: scripts de build para pacotes fora do sistema operacional principal
- branch stlouis do illumos-gate: sistema operacional principal, incluindo kernel e libc
- phbl: Pico Host Boot Loader
- pinprick: utilitário de compressão de imagens ROM
- illumos/image-builder: ferramenta para criar imagens de disco illumos inicializáveis
- amd-host-image-builder: ferramenta para compor imagens ROM para CPUs AMD
- Também há consolidações que ainda não foram publicadas:
amd-firmware: blobs binários de firmware para CPU AMD, com publicação futura previstachelsio-t6-roms: blobs de firmware para NIC Chelsio T6, com publicação futura previstapilot: utilitário de controle de baixo nível para sistemas Oxide, com publicação futura previstadmar-report: gerador de relatórios de DRAM margining, com publicação futura prevista
- Se você não tiver acesso aos repositórios privados, pode pular o clone e a build do software ainda não publicado com
OXIDE_STAFF=no gmake setup
Ambiente inicial e configuração
- Este é o procedimento para quem pretende compilar e instalar seus próprios pacotes do sistema operacional; se o objetivo for apenas usar o Helios, o fluxo é consultar as informações do software Helios pré-compilado em helios-engvm
- O ponto de partida recomendado é uma máquina física ou virtual de build com uma versão recente do Helios instalada
- Os detalhes de instalação em máquina virtual estão em helios-engvm
- As informações de mídia de instalação para sistemas físicos x86 também estão no mesmo repositório
- Se você criou a VM usando o procedimento do
helios-engvm, os pacotes necessários já devem estar instalados - Se você criou o ambiente Helios com o instalador ISO ou de outra forma, talvez precise do pacote
pkg:/developer/illumos-tools- Verifique a instalação com
pkg list developer/illumos-tools - Se estiver faltando, instale com
pkg install
- Verifique a instalação com
- É recomendável usar os pacotes mais recentes do Helios e verificar as instruções mostradas após
pkg update- Se o update informar que criou um novo boot environment, ative-o com
rebootantes de prosseguir
- Se o update informar que criou um novo boot environment, ative-o com
- Rust e Cargo são instalados a partir dos binários oficiais do projeto Rust com
rustup- No procedimento oficial de instalação, use
bashem vez desh - Exemplo de comando:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | bash
- No procedimento oficial de instalação, use
Clone de repositórios e helios-build
- Na máquina Helios, faça o clone do repositório e execute
gmake setup- A ferramenta helios-build, baseada em Rust, é compilada em
tools/helios-build - Vários repositórios são clonados em
projects/
- A ferramenta helios-build, baseada em Rust, é compilada em
- Se você não tiver acesso aos repositórios privados da organização GitHub
oxidecomputer, pode usar apenas os repositórios públicos assim:OXIDE_STAFF=no gmake setup
- A ferramenta
helios-buildpode levar algum tempo na primeira build - A etapa de configuração inicial clona os repositórios esperados do projeto, mas operações posteriores, como updates ou troca de branch, são feitas apenas em alguns deles
- Você pode ver quais repositórios recebem update automático em
auto_updatedeconfig/projects.toml - Os demais clones locais devem ter troca de branch e
pullgerenciados manualmente, como qualquer repositório Git comum
- Você pode ver quais repositórios recebem update automático em
Como a build do illumos funciona
- Os componentes principais do sistema operacional no Helios vêm da branch stlouis do illumos-gate
- A maior parte dos pacotes incluídos em um sistema Helios é basicamente stock illumos com componentes adicionais para hardware da Oxide e algumas pequenas transformações de empacotamento
- O
helios-buildfornece vários wrappers que gerenciam a configuração da build e chamam as ferramentas de build do illumos para simplificar o processo - A documentação upstream Building illumos cobre grande parte do que as ferramentas do Helios fazem automaticamente
- Durante o desenvolvimento, é possível fazer uma quick build com o comando abaixo:
./helios-build build-illumos -q- A quick build desativa o shadow compiler e algumas verificações exigidas na integração final
- O tempo de build varia conforme a quantidade de CPUs da máquina de build e o desempenho do armazenamento local
- O log completo da build é grande; por exemplo, pode ser acompanhado com
tail -F projects/illumos/log/nightly.log - Se a build for bem-sucedida, um repositório de pacotes será criado em
projects/illumos/packages/i386, e depois poderá ser transformado e instalado de várias formas
Instalação e distribuição dos pacotes compilados
-
Instalação na máquina local de build
- Os pacotes recém-compilados podem ser instalados na máquina de build com
./helios-build onu -t my-be-name - Esse comando transforma e instala os pacotes do illumos e cria um novo Boot Environment com o nome passado em
-t - O novo boot environment é ativado pelo
onu, e o usuário entra nele após reiniciar - Consulte beadm(8) para informações sobre boot environments
- Ao reiniciar, é recomendável estar no console para observar as mensagens de boot e poder interagir com o boot loader
- Após a instalação,
pkg list -Hv system/kernelpermite verificar que o pacotesystem/kernelveio do publisher local baseado em arquivoon-nightlye da versão de quick build3.0.999999
- Os pacotes recém-compilados podem ser instalados na máquina de build com
-
Instalação em outra máquina via servidor de repositório de pacotes
- Se houver uma máquina de teste separada da máquina de build, é possível usar o servidor de repositório
pkg.depotdda máquina de build ./helios-build onu -Dtransforma os pacotes da build mais recente e inicia o servidor de pacotes- No exemplo, o serviço é oferecido em
0.0.0.0:7891 - O servidor continua em execução até receber Control-C ou outro encerramento
- Na máquina de destino, verifique a conectividade com a máquina de build usando
pkgrepo info -s http://genesis:7891 - Um sistema Helios stock tem por padrão um único publisher
heliosusando o repositório centralhttps://pkg.oxide.computer/helios/3/dev/ - Na máquina de teste, adicione o publisher
on-nightly, defina-o como primeira origem de busca e afrouxe a regra sticky do publisherhelios pkg set-publisher -r -O http://genesis:7891 --search-first on-nightlypkg set-publisher -r --non-sticky helios- Dependendo da situação, pode ser necessário remover o metapacote
entireantes do update - Isso pode ser especialmente necessário quando existirem zones baseadas na brand
lipkg - A ferramenta
onudo illumos stock faz isso automaticamente - Execute
pkg update -nvcomo dry-run para verificar se o update será feito para os pacotes de quick build - No exemplo, 325 pacotes são atualizados, e será necessário criar e ativar um novo boot environment, além de reconstruir o boot archive
- A versão muda da versão stock do Helios baseada no número de commit da branch stlouis para a versão de quick build
3.0.999999 - O update real é feito com
pkg update -v, e, se der certo, será preciso reiniciar no novo boot environment - Após reiniciar, a configuração dos publishers permanece
- Depois disso, é possível repetir o fluxo de nova build, reinício do servidor de pacotes e
pkg update -vna máquina de teste
- Se houver uma máquina de teste separada da máquina de build, é possível usar o servidor de repositório
-
Gerar apenas pacotes sem instalar
./helios-build onu -Papenas transforma o resultado da quick build sem instalá-lo- O repositório de pacotes transformado é criado em
tmp/onu/repo.redist - Esse método é útil para inspecionar o conteúdo do repositório de build
pkgrepo info -s tmp/onu/repo.redistpkgrepo list -s tmp/onu/repo.redistpkg contents -t file -s tmp/onu/repo.redist '*microcode*'- Também é possível preservar os arquivos de pacote para comparar saídas de várias builds, transferi-los para sistemas remotos ou usá-los em uma instalação posterior
Trabalhando em mudanças e builds iterativas
- Em geral, é melhor começar mudanças no sistema em um workspace de build limpo após uma quick build
- Para alterar um arquivo-fonte específico e recompilar um componente, primeiro entre no ambiente de build com
bldenv./helios-build bldenv -q- Um novo shell interativo é iniciado, com
PATHe outras variáveis definidos corretamente
- Vá até o diretório do componente e execute comandos como
dmake -S -m serial installpara compilar e instalar- O exemplo compila o comando
idemcmd/ide o instala na área proto
- O exemplo compila o comando
- Esse método incremental e direcionado de editar e recompilar é adequado para ciclos curtos de validação de compilação
-
A opção mais correta, porém mais lenta
- É possível recompilar todo o sistema operacional
- Esse é o único procedimento que garante o resultado correto dentro do possível
- Se algum problema inexplicável surgir em métodos incrementais, é recomendável tentar primeiro uma full build
- O comando é
./helios-build build-illumos -q
-
A opção rápida, mas sem garantias
- Se você atualizou binários na área proto com
dmake install, pode regenerar e instalar apenas os pacotes sem refazer a build completa - Dentro do
bldenv, vá para$SRC/pkge executedmake install - Depois disso, inicie um servidor de repositório com os pacotes atualizados ou faça a instalação local
- Se você atualizou binários na área proto com
-
A opção de trabalhar diretamente no sistema de arquivos
- No fim das contas, o sistema operacional é apenas um conjunto de arquivos no sistema de arquivos, então abordagens fora das ferramentas de empacotamento também são possíveis
- Você pode executar o binário modificado diretamente no sistema de build ou copiá-lo para o sistema de teste com
scpoursynce executá-lo lá - Isso pode não funcionar se o binário depender de mudanças em bibliotecas ou no kernel
- Também é possível criar um novo boot environment e ajustar os arquivos dentro dele
- Um boot environment é um sistema de arquivos ZFS separado que pode ser modificado, ter snapshot, ser clonado e inicializado
- Você pode usar
beadm create,beadm mountebeadm activate - Também é possível criar uma imagem de disco ou ramdisk totalmente nova e inicializá-la via VM ou PXE
- As ferramentas específicas do Helios para geração de imagem estão nas ferramentas de imagem do helios-engvm
- Essas ferramentas podem incluir pacotes de quick build ou arquivos adicionais arbitrários por meio da modificação de templates de imagem
- A base é o upstream illumos/image-builder
Arquivo de imagem do sistema operacional
- No processo de build de imagens do sistema operacional para os compute sleds da Oxide, é gerado um arquivo de imagem
- Esse arquivo contém a ROM de boot e a imagem ramdisk do sistema de arquivos raiz
- Também inclui metadados em um arquivo JSON, usando o mesmo formato de omicron1 brand
- O conteúdo do arquivo é uma interface comprometida entre o Helios e partes do Omicron, que precisam baixar e instalar imagens do sistema operacional em sistemas físicos do Oxide Rack
- Os arquivos mínimos necessários para uso pelo Omicron incluem:
oxide.json: arquivo de cabeçalho de metadados com pelo menos a chavev=1e a chavet=ospara identificar a imagem do sistema operacionalimage/rom: imagem de ROM de boot do host com 32MiBimage/zfs.img: imagem ramdisk do sistema de arquivos raiz do host, de tamanho arbitrário
- Pode haver arquivos adicionais para fins de engenharia ou diagnóstico
- Ex.: kernel comprimido
unix.zparabldbounanobl-rs, boot archive comprimidocpio.z - Um array de arquivos ROM adicionais com sufixos que representam diferentes funções de diagnóstico
- Ex.: kernel comprimido
- Esses arquivos adicionais não fazem parte da interface comprometida e podem mudar a qualquer momento no futuro
- Softwares que interpretam o arquivo de imagem devem ignorar arquivos que não reconheçam
Licença
- Copyright 2026 Oxide Computer Company
- Salvo indicação em contrário, todos os componentes são licenciados sob a Mozilla Public License Version 2.0
1 comentários
Opiniões no Hacker News
Fico feliz que isso tenha sido publicado, e pretendo implantar localmente para aprender o máximo possível
A Oxide é praticamente uma empresa dos sonhos, tanto pela stack tecnológica quanto pelas pessoas que trabalham lá
Mas logo o pensamento foi para “afinal, o que um sistema operacional de servidor faz? Não basta subir máquinas virtuais? Não é que eu precise necessariamente de Linux; eu só preciso conseguir rodar máquinas virtuais Linux, certo?”
Investi bastante em SmartOS na minha infraestrutura pessoal, mas depois da aquisição da Joyent fiquei preocupado com o futuro
Eu gostaria de trabalhar em uma organização grande o suficiente para usar equipamentos da Oxide. Seria incrível não ter que ficar mexendo em estruturas de compatibilidade falsas no estilo IBM PC AT, BMCs e iDRACs mal-ajambrados, controladoras RAID de hardware e coisas assim
Vista de fora, ela passa uma sensação parecida com a Sun, e é exatamente esse tipo de empresa com que sempre sonhei
Mas, como alguém que precisa sustentar a família, a estrutura de remuneração não é viável para mim. Talvez, quando meu filho se formar na faculdade e eu não precisar mais de uma renda alta, eu consiga realizar esse sonho
Alguém consegue me explicar como se eu tivesse 5 anos o que a Oxide oferece? Olhando o site, não dá para entender
Não sei se é hardware+software para comprar e usar on-premises, se é PaaS ou se é mais um provedor de nuvem
Em resumo: sim. É hardware+software que você compra e usa on-premises
O diferencial em relação à maioria dos produtos de nuvem on-premises existentes é que se trata de um único fornecedor que projetou o hardware e o software para funcionarem bem juntos. Eles estão tentando tornar o software o mais open source possível, e é por isso que anúncios como este aparecem
A maioria dos produtos junta itens de vários fornecedores e, na prática, vende integração. A Oxide entende que essa abordagem gera vários problemas, e que seu produto resolve esses problemas
Outro ponto é que existem apenas dois SKUs: meio rack e rack completo. Você não compra em unidades de 1U, compra por rack
Projetar o rack inteiro como uma unidade coesa permite fazer coisas impossíveis no formato 1U. Há uma piada de que eles sempre falam de ventoinhas, e é verdade. Como usam sleds maiores que o 1U tradicional, podem usar ventoinhas maiores e fazê-las girar em RPM mais baixo, economizando energia
Foi uma escolha de design intencional, mas também tem efeitos colaterais. Graças ao RPM mais baixo, os servidores são muito mais silenciosos. Entre os primeiros clientes em potencial, houve até quem perguntasse durante uma demonstração: “isso está mesmo ligado?”
Ninguém compra servidores só por serem silenciosos, mas é um exemplo interessante do que acontece quando você repensa o produto como um todo, em vez de tratá-lo como um simples trabalho de integração
Sei que o pessoal da Oxide veio da Sun, mas há alguma vantagem técnica real, em termos de proposta de valor de negócio, em terem escolhido algo que não fosse Linux?
Sei em quais pontos o illumos é tecnicamente melhor que o Linux, mas não sei se isso realmente importa para o cliente que compra isso
Fico pensando se não estão abrindo um problema complexo que os impede de vender mais computadores por ideologia ou tradição
Do ponto de vista de quem opera workloads em contêineres Linux, o fato de isso ser fundamentalmente não Linux não é um motivo para comprar, mas sim um motivo para hesitar na compra. Sei que é possível executar binários Linux sem modificação
Não é um detalhe do produto exposto ao cliente, e é bem provável que a maioria nem saiba disso
O que importa para o cliente é se o rack é eficiente, confiável e adequado às suas necessidades. A escolha do illumos em vez do Linux aqui foi feita para entregar esse valor de forma eficaz
Claro, isso não significa que não seria possível criar um produto semelhante sobre Linux; nós julgamos que illumos era mais adequado ao propósito
Tomamos essa decisão com a equipe na forma de um RFD[1]; ele tem o número #26, mas atualmente não está público. As opções consideradas seriamente foram o KVM do Linux e o bhyve do illumos, e é um documento bem longo
No fim, era preciso escolher um caminho, e escolhemos este. Eu não desenvolvo diretamente essa parte, mas até agora não houve motivo para vê-la como um obstáculo; pelo contrário, é bem possível que tenha sido a escolha certa
Fico curioso sobre por que o fato de ser não Linux seria um motivo contra a compra. Seria bom se você pudesse explicar melhor. Ah, vi o comentário abaixo: https://news.ycombinator.com/item?id=39180814
1: https://rfd.shared.oxide.computer/
O motivo de termos usado um derivado do illumos, e não outra coisa, foi tratado um pouco no Q&A[1] de quando enviamos o primeiro rack, e também pretendemos explicar novamente na discussão gravada[2] que faremos mais tarde hoje
[0] https://hubris.oxide.computer/
[1] https://www.youtube.com/watch?v=5P5Mk_IggE0&t=2556s
[2] https://mastodon.social/@bcantrill/111840269356297809
Engenheiros de plataforma passam o dia corrigindo problemas de kernel recente, drivers e bibliotecas essenciais, e a aplicação real acaba dependendo disso tudo
Ou então seguem o caminho de 99% dos fornecedores de IoT: nunca atualizam o sistema operacional de base e rezam para que não haja exploits ativos mirando nele
Foi por isso que muitas empresas de médio porte sofreram bastante com a questão do CentOS. Porque podiam permanecer em uma plataforma relativamente estável e receber atualizações de segurança sem pagar para operar uma instalação completa do RHEL
A cada cerca de 10 anos era preciso rever todas as dependências, mas isso era muito mais fácil do que acompanhar um ciclo de atualizações de 1 a 2 anos. Em alguns sistemas, só o período de validação passa de 6 meses, então esse ciclo é curto demais
Esse é um problema quase exclusivo do Linux, e alternativas como *BSD oferecem a maior parte do que o Linux oferece, mas com muito menos quebras contínuas
É difícil imaginar pessoas melhores para formar a equipe que integraria os sistemas da Oxide
Hoje sou um engenheiro que trabalha só com Linux, mas sinto falta da época em que havia outro Unix forte capaz de rodar workloads de alto valor
Comparando o openvswitch do Linux com os recursos de Crossbow SDN do Solaris, eu escolheria o Crossbow sempre
Não quero dizer que o Linux esteja errado, mas as ferramentas seguem seus próprios caminhos e criam complexidade, que depois precisa ser abstraída novamente por ferramentas ainda mais complexas; falta muito uma coesão no nível de um “plano mestre”
Não é muito diferente de Azure Host OS, Bottlerocket ou Flatcar
O importante é que eles conhecem a pilha inteira, parte do código do kernel está com eles desde a época da Sun, e podem disponibilizá-lo para clientes que querem acesso ao código-fonte por causa de avaliações de segurança
Como eu não conhecia bem o illumos, olhei a página web e logo no começo dizia “illumos is a Unix operating system”
O illumos é um Unix de verdade, como o macOS, ou é um sistema operacional do tipo Unix, como o GNU/Linux?
Ele é baseado no OpenSolaris, e o OpenSolaris é baseado no System V Release 4(SVR4) e no Berkeley Software Distribution(BSD). O Illumos é composto por kernel, drivers de dispositivos, bibliotecas de sistema e software utilitário para administração do sistema. Esse núcleo serve de base para várias distribuições Illumos de código aberto, de modo parecido com o kernel Linux servindo de base para várias distribuições Linux
https://www.opengroup.org/openbrand/register/
Por isso não dá para usar a marca UNIX™
Mas, por dentro, há código-fonte do kernel e do espaço de usuário do AT&T Unix
PDP-11 Unix System III: https://www.tuhs.org/cgi-bin/utree.pl?file=SysIII/usr/src/ut...
IllumOS: https://github.com/illumos/illumos-gate/blob/b8169dedfa435c0...
Não é que eu não torça pela Oxide, mas o produto ainda é nichado demais e está em fase inicial demais para eu imaginar empresas reais comprando isso por um bom tempo
Só no fim do verão passado eles enviaram o primeiro rack ao primeiro cliente, e esse cliente também era o Idaho National Laboratory
No momento, parece que praticamente só instituições nacionais de pesquisa podem fazer uma aposta dessas
Os clientes da Oxide incluem o Idaho National Laboratory e uma organização global de serviços financeiros. Instalações adicionais em empresas da Fortune 1000 devem ser concluídas nos próximos meses
Se você planeja lançar de outro jeito, já condenou a empresa antes mesmo do lançamento. Alguns poucos sobrevivem por sorte, mas isso contribui para a estatística de que 9 em cada 10 startups fracassam
É preciso ter um foco extremo no primeiro grupo de clientes para atravessar o abismo; depois vem o mercado de massa
As pessoas poderiam aprender ou startups poderiam experimentar, levando depois a vendas de racks ou contratações
A proposta funciona até para quem ainda pensa “on-premises… aff”
Parece oferecer uma experiência parecida com a de nuvem no seu próprio hardware
Teria sido ótimo se fosse tão barato quanto a Dell
O único problema é que ele foi feito para computação de uso geral, e nós realmente precisávamos de opções de processadores mais rápidos
Gosto muito de como a documentação parece clara e intuitiva. Pessoalmente, acho que documentação foi uma área em que a comunidade illumos historicamente teve dificuldades
Ver a menção a consolidations na nova release do código-fonte me deu uma sensação boa. Mas, a menos que eu tenha entendido muito errado a organização dos repositórios, parece seguir uma direção diferente do paradigma tradicional de gate
Tenho algumas perguntas, principalmente relacionadas a ferramentas. Por que gmake? Parece que dmake também será necessário de qualquer forma depois
As instruções dizem explicitamente para executar o rustup com bash; isso é uma falha upstream ou o sh local não é totalmente compatível com POSIX?
Como é o desenvolvimento interno? O pessoal da Oxide usa workstations com illumos, ou todos desenvolvem em máquinas virtuais ou via SSH em servidores?
Por que MPL? Por causa da compatibilidade com GPL?
Sobre se o pessoal da Oxide usa workstations com illumos ou desenvolve em VMs/por SSH em servidores, escrevi aqui: https://news.ycombinator.com/item?id=39181727
Dito isso, há pessoas que de fato usam illumos em workstations
Sobre MPL, está aqui: https://news.ycombinator.com/item?id=39181844
Naquele comentário eu não falei a fundo sobre o “porquê”, mas vejo como um bom meio-termo no espaço de possibilidades. É mais copyleft que BSD, mas menos restritiva que GPL
Como na maioria dos projetos open source, ali também há Linuxism/Bashism
Ele é amplamente disponível, funciona também em outras plataformas e tem recursos mais modernos
É ótimo que o software seja open source, mas será que dá para implantá-lo e usá-lo em outro hardware?
Se, por qualquer motivo, a empresa não puder mais comprar racks da Oxide, ela precisa recomeçar a infraestrutura do zero, ou consegue continuar expandindo em torno do hardware da Oxide?
Se você decidir não usar mais o rack da Oxide que comprou, basta mover as máquinas virtuais para a infraestrutura que escolher em seguida.
Tenho muita curiosidade sobre que workloads as empresas gostariam de rodar em um Unix customizado que não é Linux/Mac/BSD.
Torço para que surja uma diversidade de sistemas operacionais mais madura, mas não consigo imaginar quem seriam os usuários finais e que necessidades teriam.
Se houvesse necessidade, imagino que até Windows Server poderia ser inicializado.
O motivo de usarem Illumos é, em parte, que há muita gente vinda da Sun, da Joyent etc., então existe mesmo um viés natural.
Mas também há um motivo bastante convincente: isto não é um computador pessoal x86 compatível com IBM. Não há BIOS, nem UEFI, nem BMC tradicional; embora use x86 moderno, parece que eles removeram o máximo possível de firmware proprietário e blobs binários.
Cada sled tem um processador de serviço e uma raiz de confiança em hardware, que inicializa diretamente a CPU, carrega o blob de treinamento da AMD e depois inicializa o sistema operacional.
Seria difícil fazer upstream dessas mudanças para Linux ou BSD para um computador que, no momento, só eles têm. No fim, teriam que manter um fork downstream próprio e, como também não haveria outra parte responsável pela robustez do sistema operacional, a conclusão foi que seria melhor usar um sistema operacional que eles vêm apoiando e desenvolvendo há anos.
O cliente executa máquinas virtuais no rack, não compila aplicações para illumos.
Dentro dessas máquinas virtuais, ele roda qualquer sistema operacional necessário para atingir seus objetivos.
Se for possível contratar gente suficiente, também é convincente o argumento de que os servidores de uma nuvem não precisam necessariamente usar todos o mesmo sistema operacional.
Você não executa seu código em cima desse sistema operacional; executa seu código em cima das máquinas virtuais fornecidas por ele.
Fico curioso para saber como as pessoas conheceram a Oxide pela primeira vez.
Eu acabei chegando ao podcast deles por acaso e, para mim, parece um marketing enorme. Eles fazem tudo, exceto vender o produto diretamente.
Talvez fosse bom colocar um pitch curto no fim de cada episódio.
Eles começam falando algo como “foi muito difícil fazer o compilador fazer tal coisa” e acabam entrando em histórias antigas.
Mesmo assim, espero que continuem contando essas histórias e torço para que dê certo.
Já o Oxide and Friends é menos um podcast tradicional e mais uma gravação de um “space” ao vivo ou chamada em grupo que começou no Twitter e hoje acontece no Discord.
Acho que é um formato melhor consumido ao vivo do que apenas como podcast. Ao ouvir ao vivo, você entende muito melhor o clima da gravação.
https://oxide.computer/podcasts/oxide-and-friends
Eu esperava por isso desde que anunciaram o rack de servidores.
Se a Oxide quebrar, ninguém vai querer equipamentos que virem peso de papel.
É preciso lembrar que a MPL não depende de uma cópia estar publicada no GitHub ou não.
Não sou advogado, mas, independentemente de não clientes poderem ler o código, há obrigações sob a MPL em relação aos clientes.