O que é o formato de ficheiro KO?
Um arquivo .ko é um módulo de kernel carregável (LKM) para o kernel Linux - um plug-in binário que estende a funcionalidade do kernel em tempo de execução sem exigir uma reinicialização ou recompilação. Os usos comuns incluem drivers de dispositivo (gráficos, rede, armazenamento), implementações de sistemas de arquivos e subsistemas de segurança.
Estruturalmente, um arquivo .ko é um objeto relocável ELF (tipo ET_REL), compartilhando os magic bytes padrão do ELF (0x7F 0x45 0x4C 0x46) com bibliotecas compartilhadas .so. O recurso distintivo é uma seção ELF .modinfo, que armazena metadados chave=valor legíveis via modinfo: autor, descrição, licença, vermagic (a versão exata do kernel + string SMP + ABI) e entradas parm para parâmetros configuráveis. A convenção de nomenclatura .ko substituiu o sufixo antigo .o no kernel Linux 2.6 (2003).
Os módulos são carregados com insmod ou modprobe e descarregados com rmmod - todos parte do pacote kmod. A string vermagic deve corresponder exatamente ao kernel em execução; uma incompatibilidade causa a rejeição do carregamento. Uma seção ELF opcional __versions armazena somas de verificação CRC32 por símbolo exportado para verificação de ABI.
Desde o kernel 3.3+, os módulos de distribuição são rotineiramente compactados como .ko.xz, .ko.gz ou .ko.zst; o modprobe os descompacta de forma transparente. Em sistemas com boot seguro (Secure Boot), a assinatura de módulo (CONFIG_MODULE_SIG) anexa uma assinatura RSA ou ECDSA após o conteúdo ELF; kernels com lockdown ativado rejeitam módulos não assinados.
Segurança e proteção
RISCO: HIGHOs módulos do kernel rodam com privilégio ring-0 (kernel) - o nível de privilégio mais alto. Um arquivo .ko malicioso pode fazer qualquer coisa: instalar rootkits, interceptar chamadas de sistema, desativar logs de auditoria. Nunca carregue arquivos .ko de fontes não confiáveis. Os módulos de distribuição são assinados; o Secure Boot impõe a verificação de assinatura do módulo. Se um .ko se recusar a carregar devido a erro de assinatura, investigue o motivo em vez de desativar a imposição de assinatura.
Detalhes do formato
em resumoProgramas que abrem arquivos KO
Detalhes técnicos
especificação profunda| Tipo de formato | Objeto relocável ELF (ET_REL), 32 bits ou 64 bits dependendo da arquitetura de destino |
| Magic bytes | 0x7F 0x45 0x4C 0x46 (0x7F seguido por ASCII «ELF») no deslocamento 0 do arquivo - idêntico às bibliotecas compartilhadas .so |
| Ordem dos bytes | Dependente da arquitetura: little-endian em x86/ARM, big-endian em MIPS/PowerPC |
| Seção ELF principal | .modinfo - armazena metadados de autor, licença, vermagic, versão, parm e alias como pares chave=valor |
| Aplicação de ABI | A string vermagic em .modinfo codifica a versão exata do kernel + sinalizadores SMP; a incompatibilidade causa rejeição de carga |
| Símbolo CRC | Seção ELF opcional __versions com CRC32 por símbolo de kernel exportado para verificação de ABI |
| Assinatura de módulo | Assinatura RSA/ECDSA anexada após os dados ELF (CONFIG_MODULE_SIG); kernels com lockdown ativado exigem uma assinatura válida |
| Compressão | Módulos de distribuição compactados como .ko.xz, .ko.gz ou .ko.zst; modprobe descompacta de forma transparente (kernel 3.3+) |
| Ferramentas de carga | insmod (carga direta), modprobe (ciente de dependências), rmmod (descarregar) - todos parte do pacote kmod |
| Ferramenta de metadados | modinfo(8) lê a seção .modinfo; depmod(8) constrói o mapa de dependências modules.dep |
| Tamanho típico | 5 KB - 10 MB (módulos de driver de dispositivo variam amplamente) |
| Histórico de nomenclatura | O sufixo .ko substituiu o .o para módulos de kernel começando com o Linux 2.6.0 (2003) |
| Portabilidade | Apenas Linux; não compatível com outros sistemas baseados em ELF sem infraestrutura de módulo do lado do kernel |
| Lançado | 2003 (Linux kernel 2.6; .ko replaced .o module naming convention) |
| Versão mais recente | N/A (ELF format is stable; kernel ABI versioning via vermagic string) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | www.kernel.org |
Conversões de KO
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos KO.