AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1519868
Accepted
mpboden
mpboden
Asked: 2024-07-08 07:58:53 +0800 CST2024-07-08 07:58:53 +0800 CST 2024-07-08 07:58:53 +0800 CST

Ao compilar o kernel do "jeito Debian", como adiciono um modificador de versão local?

  • 772

Tenho experimentado compilar meu próprio kernel e estou tendo dificuldade em adicionar um modificador de versão local ao seguir as instruções de BuildYourOwnKernel . Esta é a "maneira Debian" de compilar um kernel usando fakefoot debian/rules binary-genericem vez de compilar a partir da linha principal usando make bindeb-pkg.

Ao seguir as instruções, consigo compilar o kernel com sucesso. No entanto, o +test1sufixo que adicionei como modificador de versão local só é adicionado ao .debarquivo e não em nenhum dos pacotes binários. Como resultado, tenho um conflito durante a instalação, porque o nome corresponde ao kernel atualmente instalado.

Estou usando o servidor Ubuntu 22.04.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.4 LTS
Release:    22.04
Codename:   jammy

Kernel atual:

$ uname -r
5.15.0-113-generic

Aqui estão os passos que segui:

1. Instale dependências

sudo apt build-dep linux linux-image-unsigned-$(uname -r)
sudo apt install fakeroot crash kexec-tools kernel-wedge libncurses5 libncurses5-dev binutils-dev

2. Baixe a fonte

apt source linux-image-unsigned-$(uname -r)

3. Mude para o diretório de origem

cd linux-5.15.0

4. Modificardebian.master/changelog

De acordo com as instruções :

Para tornar seu kernel "mais novo" que o kernel padrão do Ubuntu no qual você se baseia, você deve adicionar um modificador de versão local. Adicione algo como "+test1" ao final do número da primeira versão no arquivo debian.master/changelog, antes de compilar.

Portanto, adicionei +test1ao final do primeiro número de versão o seguinte:

$ head -n1 debian.master/changelog
linux (5.15.0-113.123+test1) jammy; urgency=medium

5. Construa o kernel

fakeroot debian/rules clean
fakeroot debian/rules binary-headers binary-generic

Após a compilação, você verá que o +test1sufixo foi adicionado a todos .debos arquivos:

$ tree -L 1 /home/mike
/home/mike
├── linux-5.15.0
├── linux_5.15.0-113.123.diff.gz
├── linux_5.15.0-113.123.dsc
├── linux_5.15.0.orig.tar.gz
├── linux-buildinfo-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-cloud-tools-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-headers-5.15.0-113_5.15.0-113.123+test1_all.deb
├── linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-modules-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-modules-extra-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
├── linux-modules-iwlwifi-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
└── linux-tools-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb

O problema, entretanto, é que o +test1sufixo não foi adicionado a nenhum arquivo dentro do .debarquivo e, como resultado, há um conflito durante a instalação do kernel.

$ sudo dpkg -i linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb 
dpkg: regarding linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb containing linux-image-unsigned-5.15.0-113-generic:
 linux-image-unsigned-5.15.0-113-generic conflicts with linux-image-5.15.0-113-generic
  linux-image-5.15.0-113-generic (version 5.15.0-113.123) is present and installed.

dpkg: error processing archive linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb (--install):
 conflicting packages - not installing linux-image-unsigned-5.15.0-113-generic
Errors were encountered while processing:
 linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb

Os cabeçalhos, no entanto, estão instalados:

$ sudo dpkg -i linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb 
(Reading database ... 138403 files and directories currently installed.)
Preparing to unpack linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb ...
Unpacking linux-headers-5.15.0-113-generic (5.15.0-113.123+test1) over (5.15.0-113.123+test1) ...
Setting up linux-headers-5.15.0-113-generic (5.15.0-113.123+test1) ...
/etc/kernel/header_postinst.d/dkms:
 * dkms: running auto installation service for kernel 5.15.0-113-generic
   ...done.

Mas observe que nenhum diretório inclui o sufixo da versão local +test. Parece que simplesmente substitui os cabeçalhos existentes.

$ tree -L 1 /usr/src
/usr/src
├── linux-headers-5.15.0-113-generic
└── python3.10

Aqui está um trecho do conteúdo de linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb:

$ dpkg -c linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb | head -n20
drwxr-xr-x root/root         0 2024-07-07 16:31 ./
drwxr-xr-x root/root         0 2024-07-07 16:27 ./lib/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./lib/modules/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./lib/modules/5.15.0-113-generic/
drwxr-xr-x root/root         0 2024-07-07 16:31 ./usr/
drwxr-xr-x root/root         0 2024-07-07 16:31 ./usr/share/
drwxr-xr-x root/root         0 2024-07-07 16:31 ./usr/share/doc/
drwxr-xr-x root/root         0 2024-07-07 16:31 ./usr/share/doc/linux-headers-5.15.0-113-generic/
-rw-r--r-- root/root    714273 2024-07-07 15:58 ./usr/share/doc/linux-headers-5.15.0-113-generic/changelog.Debian.gz
-rw-r--r-- root/root      1292 2024-07-07 15:58 ./usr/share/doc/linux-headers-5.15.0-113-generic/copyright
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/src/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/
-rw-r--r-- root/root    261963 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/.config
-rw-r--r-- root/root        39 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/.gitignore
-rw-r--r-- root/root      1013 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/.missing-syscalls.d
-rw-r--r-- root/root   1818060 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/Module.symvers
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/arch/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/arch/x86/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/arch/x86/entry/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/src/linux-headers-5.15.0-113-generic/arch/x86/entry/syscalls/

Aqui está o conteúdo de linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb:

$ dpkg -c linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb
drwxr-xr-x root/root         0 2024-07-07 16:29 ./
drwxr-xr-x root/root         0 2024-07-07 16:26 ./boot/
-rw------- root/root  11680480 2024-07-07 16:26 ./boot/vmlinuz-5.15.0-113-generic
drwxr-xr-x root/root         0 2024-07-07 16:29 ./usr/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/lib/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/lib/linux/
drwxr-xr-x root/root         0 2024-07-07 16:27 ./usr/lib/linux/triggers/
drwxr-xr-x root/root         0 2024-07-07 16:29 ./usr/share/
drwxr-xr-x root/root         0 2024-07-07 16:29 ./usr/share/doc/
drwxr-xr-x root/root         0 2024-07-07 16:29 ./usr/share/doc/linux-image-unsigned-5.15.0-113-generic/
-rw-r--r-- root/root    714273 2024-07-07 15:58 ./usr/share/doc/linux-image-unsigned-5.15.0-113-generic/changelog.Debian.gz
-rw-r--r-- root/root      1292 2024-07-07 15:58 ./usr/share/doc/linux-image-unsigned-5.15.0-113-generic/copyright

Aqui estão alguns resultados finais no final do processo de construção. Tome nota das linhas que indicam a construção do pacote onde o pacote ainda não contém +test1o .debfaz.

dpkg-deb: building package 'linux-image-unsigned-5.15.0-113-generic' in '../linux-image-unsigned-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-modules-5.15.0-113-generic
dh_installdocs -plinux-modules-5.15.0-113-generic
dh_compress -plinux-modules-5.15.0-113-generic
dh_fixperms -plinux-modules-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-modules-5.15.0-113-generic 
dh_installdeb -plinux-modules-5.15.0-113-generic
dh_installdebconf -plinux-modules-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-modules-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules,  spl-dkms,  zfs-modules,  zfs-dkms,  v4l2loopback-modules,  v4l2loopback-dkms, ' 
dpkg-gencontrol: warning: Depends field of package linux-modules-5.15.0-113-generic: substitution variable ${shlibs:Depends} used, but is not defined
dpkg-gencontrol: warning: Built-Using field of package linux-modules-5.15.0-113-generic: substitution variable ${linux:BuiltUsing} used, but is not defined
dh_md5sums -plinux-modules-5.15.0-113-generic
dh_builddeb -plinux-modules-5.15.0-113-generic
dpkg-deb: building package 'linux-modules-5.15.0-113-generic' in '../linux-modules-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
if [ -f debian.master/control.d/generic.inclusion-list ] ; then \
                dh_installchangelogs -plinux-modules-extra-5.15.0-113-generic; \
dh_installdocs -plinux-modules-extra-5.15.0-113-generic; \
dh_compress -plinux-modules-extra-5.15.0-113-generic; \
dh_fixperms -plinux-modules-extra-5.15.0-113-generic -X/boot/; \
dh_shlibdeps -plinux-modules-extra-5.15.0-113-generic ; \
dh_installdeb -plinux-modules-extra-5.15.0-113-generic; \
dh_installdebconf -plinux-modules-extra-5.15.0-113-generic; \
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-modules-extra-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules,  spl-dkms,  zfs-modules,  zfs-dkms,  v4l2loopback-modules,  v4l2loopback-dkms, ' ; \
dh_md5sums -plinux-modules-extra-5.15.0-113-generic; \
dh_builddeb -plinux-modules-extra-5.15.0-113-generic; \
fi
dpkg-gencontrol: warning: Depends field of package linux-modules-extra-5.15.0-113-generic: substitution variable ${shlibs:Depends} used, but is not defined
dpkg-deb: building package 'linux-modules-extra-5.15.0-113-generic' in '../linux-modules-extra-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-modules-iwlwifi-5.15.0-113-generic
dh_installdocs -plinux-modules-iwlwifi-5.15.0-113-generic
dh_compress -plinux-modules-iwlwifi-5.15.0-113-generic
dh_fixperms -plinux-modules-iwlwifi-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-modules-iwlwifi-5.15.0-113-generic 
dh_installdeb -plinux-modules-iwlwifi-5.15.0-113-generic
dh_installdebconf -plinux-modules-iwlwifi-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-modules-iwlwifi-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules,  spl-dkms,  zfs-modules,  zfs-dkms,  v4l2loopback-modules,  v4l2loopback-dkms, ' 
dpkg-gencontrol: warning: Built-Using field of package linux-modules-iwlwifi-5.15.0-113-generic: substitution variable ${linux:BuiltUsing} used, but is not defined
dh_md5sums -plinux-modules-iwlwifi-5.15.0-113-generic
dh_builddeb -plinux-modules-iwlwifi-5.15.0-113-generic; 
dpkg-deb: building package 'linux-modules-iwlwifi-5.15.0-113-generic' in '../linux-modules-iwlwifi-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-buildinfo-5.15.0-113-generic
dh_installdocs -plinux-buildinfo-5.15.0-113-generic
dh_compress -plinux-buildinfo-5.15.0-113-generic
dh_fixperms -plinux-buildinfo-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-buildinfo-5.15.0-113-generic 
dh_installdeb -plinux-buildinfo-5.15.0-113-generic
dh_installdebconf -plinux-buildinfo-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-buildinfo-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules,  spl-dkms,  zfs-modules,  zfs-dkms,  v4l2loopback-modules,  v4l2loopback-dkms, ' 
dpkg-gencontrol: warning: Depends field of package linux-buildinfo-5.15.0-113-generic: substitution variable ${shlibs:Depends} used, but is not defined
dpkg-gencontrol: warning: Built-Using field of package linux-buildinfo-5.15.0-113-generic: substitution variable ${linux:BuiltUsing} used, but is not defined
dh_md5sums -plinux-buildinfo-5.15.0-113-generic
dh_builddeb -plinux-buildinfo-5.15.0-113-generic
dpkg-deb: building package 'linux-buildinfo-5.15.0-113-generic' in '../linux-buildinfo-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-headers-5.15.0-113-generic
dh_installdocs -plinux-headers-5.15.0-113-generic
dh_compress -plinux-headers-5.15.0-113-generic
dh_fixperms -plinux-headers-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-headers-5.15.0-113-generic 
dh_installdeb -plinux-headers-5.15.0-113-generic
dh_installdebconf -plinux-headers-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-headers-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules,  spl-dkms,  zfs-modules,  zfs-dkms,  v4l2loopback-modules,  v4l2loopback-dkms, ' 
dh_md5sums -plinux-headers-5.15.0-113-generic
dh_builddeb -plinux-headers-5.15.0-113-generic
dpkg-deb: building package 'linux-headers-5.15.0-113-generic' in '../linux-headers-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-tools-5.15.0-113-generic
dh_installdocs -plinux-tools-5.15.0-113-generic
dh_compress -plinux-tools-5.15.0-113-generic
dh_fixperms -plinux-tools-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-tools-5.15.0-113-generic 
dh_installdeb -plinux-tools-5.15.0-113-generic
dh_installdebconf -plinux-tools-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-tools-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules,  spl-dkms,  zfs-modules,  zfs-dkms,  v4l2loopback-modules,  v4l2loopback-dkms, ' 
dh_md5sums -plinux-tools-5.15.0-113-generic
dh_builddeb -plinux-tools-5.15.0-113-generic
dpkg-deb: building package 'linux-tools-5.15.0-113-generic' in '../linux-tools-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.
dh_installchangelogs -plinux-cloud-tools-5.15.0-113-generic
dh_installdocs -plinux-cloud-tools-5.15.0-113-generic
dh_compress -plinux-cloud-tools-5.15.0-113-generic
dh_fixperms -plinux-cloud-tools-5.15.0-113-generic -X/boot/
dh_shlibdeps -plinux-cloud-tools-5.15.0-113-generic 
dh_installdeb -plinux-cloud-tools-5.15.0-113-generic
dh_installdebconf -plinux-cloud-tools-5.15.0-113-generic
flock -w 60 /home/mike/linux-5.15.0/debian/.LOCK dh_gencontrol -plinux-cloud-tools-5.15.0-113-generic -- -Vlinux:rprovides='spl-modules,  spl-dkms,  zfs-modules,  zfs-dkms,  v4l2loopback-modules,  v4l2loopback-dkms, ' 
dh_md5sums -plinux-cloud-tools-5.15.0-113-generic
dh_builddeb -plinux-cloud-tools-5.15.0-113-generic
dpkg-deb: building package 'linux-cloud-tools-5.15.0-113-generic' in '../linux-cloud-tools-5.15.0-113-generic_5.15.0-113.123+test1_amd64.deb'.

Então o que está acontecendo?

  • Isso é um inseto?
  • Isso é intencional e não entendi o processo corretamente?
  • Ou estou fazendo algo errado?
kernel
  • 1 1 respostas
  • 113 Views

1 respostas

  • Voted
  1. Best Answer
    mpboden
    2024-07-12T14:04:31+08:002024-07-12T14:04:31+08:00

    O tutorial que mencionei afirmou:

    Para tornar seu kernel "mais novo" que o kernel padrão do Ubuntu no qual você se baseia, você deve adicionar um modificador de versão local. Adicione algo como "+test1" ao final do número da primeira versão no arquivo debian.master/changelog, antes de compilar.

    Meu entendimento inicial foi editar a primeira linha da debian.master/changelogseguinte forma:

    linux (5.15.0-113.123+test1) jammy; urgency=medium
    

    No entanto, acho que coloquei o modificador de versão local no local errado. Quando eu o adiciono ao final do número ABI em vez de após o número de upload, o arquivo .deb e todos os pacotes são nomeados de acordo.

    linux (5.15.0-113+test1.123) jammy; urgency=medium
    

    Esquema de nomenclatura do kernel

    Para explicar as diferentes partes do esquema de nomenclatura do kernel, a pergunta: O que significa um número de versão específico do kernel do Ubuntu? , do wiki do Ubuntu explica:

    A versão oficial de um kernel do Ubuntu informa uma série de coisas, incluindo a versão base do upstream, o identificador ABI atual do Ubuntu e o tipo do kernel. (Veja Como podemos determinar a versão do kernel em execução? para encontrar o número da sua versão atual.)

    Dada uma versão como 2.6.35-6.9-generic, isso pode ser dividido em quatro partes, conforme abaixo:

    <base kernel version>-<ABI number>.<upload number>-<flavour> 
    

    A versão base do kernel representa a versão principal na qual o kernel do Ubuntu é baseado. O número ABI representa mudanças significativas na interface binária do aplicativo do kernel. O número de upload é um contador que aumenta monotonicamente para cada upload desta versão base. O sabor indica qual variante de configuração do kernel é essa (veja O que é um sabor do kernel?).


    Lendo o código fonte

    Para entender melhor o processo, li vários arquivos de código-fonte onde a versão do kernel debian.master/changelogé lida e dividida em várias partes e atribuída a variáveis. Eles são então usados ​​para nomear e construir os pacotes binários.

    A primeira definição a ser observada é de debian/debian.env:

    DEBIAN=debian.master
    

    Em seguida, o nome do pacote fonte será o primeiro token do debian.master/changelog. Isso é definido na linha 7 de debian/rules.d/0-common-vars.mk:

    src_pkg_name=$(shell sed -n '1s/^\(.*\) (.*).*$$/\1/p' $(DEBIAN)/changelog)
    

    Na linha 13 de debian/rules.d/0-common-vars.mk:

    release := $(shell sed -n '1s/^$(src_pkg_name).*(\(.*\)-.*).*$$/\1/p' $(DEBIAN)/changelog)
    revisions := $(shell sed -n 's/^$(src_pkg_name)\ .*($(release)-\(.*\)).*$$/\1/p' $(DEBIAN)/changelog | tac)
    revision ?= $(word $(words $(revisions)),$(revisions))
    

    Na linha 82 de debian/rules.d/0-common-vars.mk:

    abinum  := $(shell echo $(revision) | sed -r -e 's/([^\+~]*)\.[^\.]+(~.*)?(\+.*)?$$/\1/')$(abi_suffix)
    

    Na linha 84 de debian/rules.d/0-common-vars.mk:

    abi_release := $(release)-$(abinum)
    

    Na linha 141 de debian/rules.d/0-common-vars.mk:

    bin_pkg_name_unsigned=linux-image-unsinged-$(abi_release)
    

    Na linha 57 de debian/rules.d/2-binary-arch.mk:

    bin_pkg_name=$(bin_pkg_name_unsigned)
    

    Na linha 582 de debian/rules.d/2-binary-arch.mk:

    binary-%: pkgimg = $(bin_pkg_name)-$*
    

    Na linha 600 de debian/rules.d/2-binary-arch.mk:

    $(call dh_all,$(pkgimg))
    

    Esta linha chama dh_all, que é uma diretiva define que começa na linha 550 de debian/rules.d/2.binary-arch.mk:

    define dh_all
        dh_installchangelogs -p$(1)
        dh_installdocs -p$(1)
        dh_compress -p$(1)
        dh_fixperms -p$(1) -X/boot/
        dh_shlibdeps -p$(1) $(shlibdeps_opts)
        dh_installdeb -p$(1)
        dh_installdebconf -p$(1)
        $(lockme) dh_gencontrol -p$(1) -- -Vlinux:rprovides='$(rprovides)'
        dh_md5sums -p$(1)
        dh_builddeb -p$(1)
    endef
    

    A última linha chama dh_builddeb, que constrói o pacote binário Debian. (Veja man dh_builddeb para mais informações.)

    De qualquer forma, para ver os valores de algumas dessas variáveis-chave, você pode executar debian/rules printenva partir do diretório fonte do kernel:

    $ debian/rules printenv | head -n10
    dh_testdir
    src package name  = linux
    series            = jammy
    release           = 5.15.0
    revisions         = 0.0 9.9 10.10 11.11 12.12 13.13 14.14 15.15 16.16 17.17 18.18 19.19 20.20 21.21 22.22 23.23 24.24 25.25 26.27 27.28 30.31 33.34 34.35 35.36 37.39 39.42 40.43 41.44 43.46 45.48 46.49 47.51 48.54 49.55 50.56 52.58 53.59 56.62 57.63 58.64 59.65 60.66 65.72 66.73 67.74 68.75 69.76 70.77 71.78 72.79 74.81 75.82 76.83 79.86 81.90 83.92 85.95 86.96 88.98 90.100 91.101 93.103 94.104 100.110 102.112 103.113 105.115 106.116 111.121 112.122 113+test1.123
    revision          = 113+test1.123
    uploadnum         = 113+123
    prev_revisions    = 0.0 0.0 9.9 10.10 11.11 12.12 13.13 14.14 15.15 16.16 17.17 18.18 19.19 20.20 21.21 22.22 23.23 24.24 25.25 26.27 27.28 30.31 33.34 34.35 35.36 37.39 39.42 40.43 41.44 43.46 45.48 46.49 47.51 48.54 49.55 50.56 52.58 53.59 56.62 57.63 58.64 59.65 60.66 65.72 66.73 67.74 68.75 69.76 70.77 71.78 72.79 74.81 75.82 76.83 79.86 81.90 83.92 85.95 86.96 88.98 90.100 91.101 93.103 94.104 100.110 102.112 103.113 105.115 106.116 111.121 112.122
    prev_revision     = 112.122
    abinum            = 113+test1
    

    Nota Final

    Não consegui encontrar muitas informações sobre este tópico específico detalhando a adição de um modificador de versão local. A única fonte que descobri que essencialmente fez a mesma coisa que descrevi aqui é um repositório GitHub, build-ubuntu-kernel . Em seu script de construção , a seção a seguir modifica o número ABI em debian.master/changelog:

    # Examples:
    # 6.9.9-060909+customidle-generic
    # 6.9.9-060909+customfull-generic
    # 6.9.9-060909+customrt-generic
    # Note: A hyphen between label and type (e.g. customidle -> custom-idle) causes problems with some parsers
    # Because the final version name becomes: 6.9.9-060909+custom-idle-generic, so just keep it combined
    echo "*** Updating version in changelog (necessary for Ubuntu)... ✓";
    sed -i "s/${KERNEL_SUB_VER}/${KERNEL_SUB_VER}+${KERNEL_VERSION_LABEL}${KERNEL_TYPE}/g" ./debian.master/changelog;
    
    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve