qual é a diferença entre a versão src 3. * e 3. * - genérico

10

No meu Linux / Ubuntu local, eu tenho dois diretórios para o Linux src

/usr/src/linux-3.16.0
/usr/src/linux-3.16.0-generic

Eu encontrei o código no 3.16.0 é muito mais do que no 3.16.0 genérico. Eu estou querendo saber por que e como esses dois diretórios são diferentes (e o que eles representam?)

    
por Richard 24.07.2015 / 15:36

1 resposta

1

Os dois diretórios são fornecidos por linux-headers-x.x.xx-xx e linux-headers-x.x.xx-xx-generic packages, que fornecem os arquivos de cabeçalho para o kernel.

linux-headers-x.x.xx-xx

Esse diretório é composto de arquivos de cabeçalho para várias arquiteturas, incluindo x86, amd64, powerpc e outros, resultando em um maior número de arquivos e maior tamanho de pacote.

linux-headers-x.x.xx-xx-genérico

Por outro lado, o diretório *-generic parecia conter principalmente códigos-fonte relevantes para a arquitetura x86, que são direcionados para a instalação local.

O gerenciador de pacotes Synaptic sugeriu isso:

This package provides kernel header files for version X.XX.X on 32 bit x86 SMP.

Tanto quanto eu sei, ambos contêm apenas códigos-fonte e não binários. E a diferença entre os dois diretórios acima é principalmente a arquitetura de destino dos códigos-fonte.

Para ler mais, você pode querer ver esta questão em seu lugar.

Texto atualizado abaixo

A maioria dos diretórios e arquivos contidos na pasta linux-headers-x.x.xx-xx-generic são links simbólicos, que apontam para diretórios e arquivos reais sob linux-headers-x.x.xx-xx .

Isso significaria que o diretório arch/x86 encontrado nesses dois diretórios é apenas a diferença de links reais e simbólicos, com alguns arquivos restantes de asm headers em *-generic counterpart.

Entre esses dois pacotes, você pode notar que outra grande diferença é a presença dos diretórios config e generated em *-generic .

Na minha melhor compreensão, eu acho que o diretório *-generic contém os arquivos de cabeçalho necessários para configurar e compilar os módulos relevantes para x86 architecture, sem fazer alterações acidentais no diretório de origem de linux-headers-x.x.xx-xx .

Acima de tudo, esta é provavelmente a abordagem "limpa" para empacotar e compilar os pacotes em plataformas repectivas. Embora não esteja em condições de esclarecer este assunto.

    
por 29.07.2015 / 12:54