Sobre permissões:
Não há necessidade de definir bit executável ou sinalizador de gravação para o módulo. O arquivo de módulo deve ser legível e é isso. insmod
, modinfo
, modprobe
ou algo mais precisam ler o arquivo do módulo. Permissões de leitura para o grupo ou outros podem ser necessárias para depurar o módulo via objdump
, nm
, ou seja,
Não há nenhum motivo real para configurar o bit executável para o módulo para ninguém.
Sobre a compactação:
O kernel do Linux foi incorporado à implementação de compactação XZ. O kernel do Linux pode ler com êxito (descompactar anteriormente) initrd
image, módulos do kernel e até mesmo ele mesmo ( vmlinuz
last z
no nome do arquivo do kernel informa que a imagem do kernel está compactada).
Eu não sei qual distro você usa. Mas se você tiver comprimido os módulos do kernel, então são regras da sua distro. É claro que os módulos compactados têm um tamanho menor em comparação com os módulos não compactados, mas se o módulo do kernel é compilado sem os símbolos de depuração, a diferença de tamanho entre os módulos compactados e descompactados do kernel será pequena. Por outro lado, é melhor usar a compactação e economizar espaço para outra coisa, em vez de gastá-la apenas para armazenar uma grande quantidade de módulos, considerando que a grande quantidade dela não será necessária.