Set custom names for vmlinuz and initrd so multiple distros can share boot directory
![Creative The name of the picture](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO9GURib1T8z7lCwjOGLQaGtrueEthgQ8LO42ZX8cOfTqDK4jvDDpKkLFwf2J49kYCMNW7d4ABih_XCb_2UXdq5fPJDkoyg7-8g_YfRUot-XnaXkNYycsNp7lA5_TW9td0FFpLQ2APzKcZ/s1600/1.jpg)
![Creative The name of the picture](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYQ0N5W1qAOxLP7t7iOM6O6AzbZnkXUy16s7P_CWfOb5UbTQY_aDsc727chyphenhyphen5W4IppVNernMMQeaUFTB_rFzAd95_CDt-tnwN-nBx6JyUp2duGjPaL5-VgNO41AVsA_vu30EJcipdDG409/s400/Clash+Royale+CLAN+TAG%2523URR8PPP.png)
up vote
1
down vote
favorite
I set up a triple boot system on btrfs
, and have arch, xenial, and bionic like so:
- encrypted
btrfs
container - each has a dedicated
btrfs subvol
for it's own root - shared unencrypted
/boot
between the three
I've een using this setup for arch and xenial for more than a year and it's been great. Now that I've added bionic, I have slight worries about the naming of the kernel and initrd. For example:
$ ls /boot
initramfs-linux.img # arch; no problems here
initrd.img-4.13.0-39-generic # xenial
initrd.img-4.15.0-20-generic # bionic
vmlinuz-linux # arch
vmlinuz-4.13.0-39-generic # xenial
vmlinuz-4.15.0-20-generic # bionic
Maybe bionic names will never conflict with xenial, but maybe they will.
I'm wondering if there's a hook or config file somewhere that could set the default name of these files without me having to compile my own. Basically, some way to act like CONFIG_LOCALVERSION
or EXTRAVERSION
was passed? Or a hook that could intercept the default file names and append something else?
I maintain my own bootloader (rEFInd
now), I don't have worries about that aspect (some may foresee concerns syncing up what I'm asking with grub
, for example).
As an aside, I'm open to other solutions. I think the general case is "How do I have several distro boot files co-exist in one partition?" I mention this as I just stumbled on this post, which is about setting a subdirectory, not changing the names. Using paths to separate these would work great as well. Maybe that's described in initramfs-tools, but it's not clear to me [yet].
I can't post a comment that gets at the primary answer well enough, so I'm adding this to address the primary response so far:
You can't change the names for Ubuntu kernels because so many programs refers back to the original names.
This is followed by the use of locate
to show how many times in the filesystem the kernel version string is used.
I'm writing from Ubuntu xenial booted with the following refind.conf
entry:
$ cat /boot/efi/EFI/refind/refind.conf
menuentry "xenial"
icon /EFI/refind/icons/os_ubuntu.png
volume 4bdcd743-9d09-2f41-9379-e5491e79ae9d
loader /vmlinuz-foo
initrd /initrd-foo
options "root=UUID=xxxx rootflags=compress=lzo,discard,ssd,subvol=xenial nomodeset $vt_handoff add_efi_memmap ro"
To do this, I did:
$ cd /boot
$ sudo mv initrd.img-4.13.0-39-generic initrd-foo
$ sudo mv vmlinuz-4.13.0-39-generic vmlinuz-foo
The filename itself doesn't matter, as the kernel version is in the kernel:
$ uname -a
Linux roboxenial 4.13.0-39-generic #44~16.04.1-Ubuntu SMP Thu Apr 5 16:43:10 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
So... I can run from any filename I want. The questions still remains if there is a way to have every kernel name changed in some way during installation/upgrade (like a hook). This could be a convention (e.g. initrd-xenial
), suffix (initrd.img-4.13.0-39-generic_xenial
) or otherwise.
kernel configuration rename
add a comment |Â
up vote
1
down vote
favorite
I set up a triple boot system on btrfs
, and have arch, xenial, and bionic like so:
- encrypted
btrfs
container - each has a dedicated
btrfs subvol
for it's own root - shared unencrypted
/boot
between the three
I've een using this setup for arch and xenial for more than a year and it's been great. Now that I've added bionic, I have slight worries about the naming of the kernel and initrd. For example:
$ ls /boot
initramfs-linux.img # arch; no problems here
initrd.img-4.13.0-39-generic # xenial
initrd.img-4.15.0-20-generic # bionic
vmlinuz-linux # arch
vmlinuz-4.13.0-39-generic # xenial
vmlinuz-4.15.0-20-generic # bionic
Maybe bionic names will never conflict with xenial, but maybe they will.
I'm wondering if there's a hook or config file somewhere that could set the default name of these files without me having to compile my own. Basically, some way to act like CONFIG_LOCALVERSION
or EXTRAVERSION
was passed? Or a hook that could intercept the default file names and append something else?
I maintain my own bootloader (rEFInd
now), I don't have worries about that aspect (some may foresee concerns syncing up what I'm asking with grub
, for example).
As an aside, I'm open to other solutions. I think the general case is "How do I have several distro boot files co-exist in one partition?" I mention this as I just stumbled on this post, which is about setting a subdirectory, not changing the names. Using paths to separate these would work great as well. Maybe that's described in initramfs-tools, but it's not clear to me [yet].
I can't post a comment that gets at the primary answer well enough, so I'm adding this to address the primary response so far:
You can't change the names for Ubuntu kernels because so many programs refers back to the original names.
This is followed by the use of locate
to show how many times in the filesystem the kernel version string is used.
I'm writing from Ubuntu xenial booted with the following refind.conf
entry:
$ cat /boot/efi/EFI/refind/refind.conf
menuentry "xenial"
icon /EFI/refind/icons/os_ubuntu.png
volume 4bdcd743-9d09-2f41-9379-e5491e79ae9d
loader /vmlinuz-foo
initrd /initrd-foo
options "root=UUID=xxxx rootflags=compress=lzo,discard,ssd,subvol=xenial nomodeset $vt_handoff add_efi_memmap ro"
To do this, I did:
$ cd /boot
$ sudo mv initrd.img-4.13.0-39-generic initrd-foo
$ sudo mv vmlinuz-4.13.0-39-generic vmlinuz-foo
The filename itself doesn't matter, as the kernel version is in the kernel:
$ uname -a
Linux roboxenial 4.13.0-39-generic #44~16.04.1-Ubuntu SMP Thu Apr 5 16:43:10 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
So... I can run from any filename I want. The questions still remains if there is a way to have every kernel name changed in some way during installation/upgrade (like a hook). This could be a convention (e.g. initrd-xenial
), suffix (initrd.img-4.13.0-39-generic_xenial
) or otherwise.
kernel configuration rename
If it's the same name it should be the same kernel.
â WinEunuuchs2Unix
Apr 30 at 15:17
@WinEunuuchs2Unix ah, interesting. So since arch will never conflict, I don't really need to care as xenial/bionic can run off the same one?
â Hendy
Apr 30 at 15:30
I will add that this still would be helpful, as I'd know in advance what the kernel is called. I have been symlinking/boot/vmlinuz-xenial
to it's most recent versioned instance, for example. If it always wasfoo-xenial
that would avoid me having to do that.
â Hendy
Apr 30 at 15:31
I believe arch uses real Linux number. Ubuntu starts off real ie Linux 4.15 but keeps it long after Linux number is EOL. They just adding suffix to dead kernel number as they update it with code from future real kernels. Drives me nuts and there is no cross reference table kept up to date I could find. I posted a question on that topic here in Ask Ubuntu.
â WinEunuuchs2Unix
Apr 30 at 17:40
add a comment |Â
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I set up a triple boot system on btrfs
, and have arch, xenial, and bionic like so:
- encrypted
btrfs
container - each has a dedicated
btrfs subvol
for it's own root - shared unencrypted
/boot
between the three
I've een using this setup for arch and xenial for more than a year and it's been great. Now that I've added bionic, I have slight worries about the naming of the kernel and initrd. For example:
$ ls /boot
initramfs-linux.img # arch; no problems here
initrd.img-4.13.0-39-generic # xenial
initrd.img-4.15.0-20-generic # bionic
vmlinuz-linux # arch
vmlinuz-4.13.0-39-generic # xenial
vmlinuz-4.15.0-20-generic # bionic
Maybe bionic names will never conflict with xenial, but maybe they will.
I'm wondering if there's a hook or config file somewhere that could set the default name of these files without me having to compile my own. Basically, some way to act like CONFIG_LOCALVERSION
or EXTRAVERSION
was passed? Or a hook that could intercept the default file names and append something else?
I maintain my own bootloader (rEFInd
now), I don't have worries about that aspect (some may foresee concerns syncing up what I'm asking with grub
, for example).
As an aside, I'm open to other solutions. I think the general case is "How do I have several distro boot files co-exist in one partition?" I mention this as I just stumbled on this post, which is about setting a subdirectory, not changing the names. Using paths to separate these would work great as well. Maybe that's described in initramfs-tools, but it's not clear to me [yet].
I can't post a comment that gets at the primary answer well enough, so I'm adding this to address the primary response so far:
You can't change the names for Ubuntu kernels because so many programs refers back to the original names.
This is followed by the use of locate
to show how many times in the filesystem the kernel version string is used.
I'm writing from Ubuntu xenial booted with the following refind.conf
entry:
$ cat /boot/efi/EFI/refind/refind.conf
menuentry "xenial"
icon /EFI/refind/icons/os_ubuntu.png
volume 4bdcd743-9d09-2f41-9379-e5491e79ae9d
loader /vmlinuz-foo
initrd /initrd-foo
options "root=UUID=xxxx rootflags=compress=lzo,discard,ssd,subvol=xenial nomodeset $vt_handoff add_efi_memmap ro"
To do this, I did:
$ cd /boot
$ sudo mv initrd.img-4.13.0-39-generic initrd-foo
$ sudo mv vmlinuz-4.13.0-39-generic vmlinuz-foo
The filename itself doesn't matter, as the kernel version is in the kernel:
$ uname -a
Linux roboxenial 4.13.0-39-generic #44~16.04.1-Ubuntu SMP Thu Apr 5 16:43:10 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
So... I can run from any filename I want. The questions still remains if there is a way to have every kernel name changed in some way during installation/upgrade (like a hook). This could be a convention (e.g. initrd-xenial
), suffix (initrd.img-4.13.0-39-generic_xenial
) or otherwise.
kernel configuration rename
I set up a triple boot system on btrfs
, and have arch, xenial, and bionic like so:
- encrypted
btrfs
container - each has a dedicated
btrfs subvol
for it's own root - shared unencrypted
/boot
between the three
I've een using this setup for arch and xenial for more than a year and it's been great. Now that I've added bionic, I have slight worries about the naming of the kernel and initrd. For example:
$ ls /boot
initramfs-linux.img # arch; no problems here
initrd.img-4.13.0-39-generic # xenial
initrd.img-4.15.0-20-generic # bionic
vmlinuz-linux # arch
vmlinuz-4.13.0-39-generic # xenial
vmlinuz-4.15.0-20-generic # bionic
Maybe bionic names will never conflict with xenial, but maybe they will.
I'm wondering if there's a hook or config file somewhere that could set the default name of these files without me having to compile my own. Basically, some way to act like CONFIG_LOCALVERSION
or EXTRAVERSION
was passed? Or a hook that could intercept the default file names and append something else?
I maintain my own bootloader (rEFInd
now), I don't have worries about that aspect (some may foresee concerns syncing up what I'm asking with grub
, for example).
As an aside, I'm open to other solutions. I think the general case is "How do I have several distro boot files co-exist in one partition?" I mention this as I just stumbled on this post, which is about setting a subdirectory, not changing the names. Using paths to separate these would work great as well. Maybe that's described in initramfs-tools, but it's not clear to me [yet].
I can't post a comment that gets at the primary answer well enough, so I'm adding this to address the primary response so far:
You can't change the names for Ubuntu kernels because so many programs refers back to the original names.
This is followed by the use of locate
to show how many times in the filesystem the kernel version string is used.
I'm writing from Ubuntu xenial booted with the following refind.conf
entry:
$ cat /boot/efi/EFI/refind/refind.conf
menuentry "xenial"
icon /EFI/refind/icons/os_ubuntu.png
volume 4bdcd743-9d09-2f41-9379-e5491e79ae9d
loader /vmlinuz-foo
initrd /initrd-foo
options "root=UUID=xxxx rootflags=compress=lzo,discard,ssd,subvol=xenial nomodeset $vt_handoff add_efi_memmap ro"
To do this, I did:
$ cd /boot
$ sudo mv initrd.img-4.13.0-39-generic initrd-foo
$ sudo mv vmlinuz-4.13.0-39-generic vmlinuz-foo
The filename itself doesn't matter, as the kernel version is in the kernel:
$ uname -a
Linux roboxenial 4.13.0-39-generic #44~16.04.1-Ubuntu SMP Thu Apr 5 16:43:10 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
So... I can run from any filename I want. The questions still remains if there is a way to have every kernel name changed in some way during installation/upgrade (like a hook). This could be a convention (e.g. initrd-xenial
), suffix (initrd.img-4.13.0-39-generic_xenial
) or otherwise.
kernel configuration rename
edited May 16 at 13:41
asked Apr 30 at 15:09
![](https://i.stack.imgur.com/Y7uk3.jpg?s=32&g=1)
![](https://i.stack.imgur.com/Y7uk3.jpg?s=32&g=1)
Hendy
1588
1588
If it's the same name it should be the same kernel.
â WinEunuuchs2Unix
Apr 30 at 15:17
@WinEunuuchs2Unix ah, interesting. So since arch will never conflict, I don't really need to care as xenial/bionic can run off the same one?
â Hendy
Apr 30 at 15:30
I will add that this still would be helpful, as I'd know in advance what the kernel is called. I have been symlinking/boot/vmlinuz-xenial
to it's most recent versioned instance, for example. If it always wasfoo-xenial
that would avoid me having to do that.
â Hendy
Apr 30 at 15:31
I believe arch uses real Linux number. Ubuntu starts off real ie Linux 4.15 but keeps it long after Linux number is EOL. They just adding suffix to dead kernel number as they update it with code from future real kernels. Drives me nuts and there is no cross reference table kept up to date I could find. I posted a question on that topic here in Ask Ubuntu.
â WinEunuuchs2Unix
Apr 30 at 17:40
add a comment |Â
If it's the same name it should be the same kernel.
â WinEunuuchs2Unix
Apr 30 at 15:17
@WinEunuuchs2Unix ah, interesting. So since arch will never conflict, I don't really need to care as xenial/bionic can run off the same one?
â Hendy
Apr 30 at 15:30
I will add that this still would be helpful, as I'd know in advance what the kernel is called. I have been symlinking/boot/vmlinuz-xenial
to it's most recent versioned instance, for example. If it always wasfoo-xenial
that would avoid me having to do that.
â Hendy
Apr 30 at 15:31
I believe arch uses real Linux number. Ubuntu starts off real ie Linux 4.15 but keeps it long after Linux number is EOL. They just adding suffix to dead kernel number as they update it with code from future real kernels. Drives me nuts and there is no cross reference table kept up to date I could find. I posted a question on that topic here in Ask Ubuntu.
â WinEunuuchs2Unix
Apr 30 at 17:40
If it's the same name it should be the same kernel.
â WinEunuuchs2Unix
Apr 30 at 15:17
If it's the same name it should be the same kernel.
â WinEunuuchs2Unix
Apr 30 at 15:17
@WinEunuuchs2Unix ah, interesting. So since arch will never conflict, I don't really need to care as xenial/bionic can run off the same one?
â Hendy
Apr 30 at 15:30
@WinEunuuchs2Unix ah, interesting. So since arch will never conflict, I don't really need to care as xenial/bionic can run off the same one?
â Hendy
Apr 30 at 15:30
I will add that this still would be helpful, as I'd know in advance what the kernel is called. I have been symlinking
/boot/vmlinuz-xenial
to it's most recent versioned instance, for example. If it always was foo-xenial
that would avoid me having to do that.â Hendy
Apr 30 at 15:31
I will add that this still would be helpful, as I'd know in advance what the kernel is called. I have been symlinking
/boot/vmlinuz-xenial
to it's most recent versioned instance, for example. If it always was foo-xenial
that would avoid me having to do that.â Hendy
Apr 30 at 15:31
I believe arch uses real Linux number. Ubuntu starts off real ie Linux 4.15 but keeps it long after Linux number is EOL. They just adding suffix to dead kernel number as they update it with code from future real kernels. Drives me nuts and there is no cross reference table kept up to date I could find. I posted a question on that topic here in Ask Ubuntu.
â WinEunuuchs2Unix
Apr 30 at 17:40
I believe arch uses real Linux number. Ubuntu starts off real ie Linux 4.15 but keeps it long after Linux number is EOL. They just adding suffix to dead kernel number as they update it with code from future real kernels. Drives me nuts and there is no cross reference table kept up to date I could find. I posted a question on that topic here in Ask Ubuntu.
â WinEunuuchs2Unix
Apr 30 at 17:40
add a comment |Â
1 Answer
1
active
oldest
votes
up vote
1
down vote
You can't change the names for Ubuntu kernels because so many programs refers back to the original names. Take for example my current kernel 4.14.34
:
$ locate 4.14.34 | wc -l
70192
$ ll /boot/*4.14.34*
-rw-r--r-- 1 root root 1496011 Apr 12 05:53 /boot/abi-4.14.34-041434-generic
-rw-r--r-- 1 root root 213406 Apr 12 05:53 /boot/config-4.14.34-041434-generic
-rw-r--r-- 1 root root 58514444 Apr 28 13:36 /boot/initrd.img-4.14.34-041434-generic
-rw-r--r-- 1 root root 0 Apr 12 05:53 /boot/retpoline-4.14.34-041434-generic
-rw------- 1 root root 3952348 Apr 12 05:53 /boot/System.map-4.14.34-041434-generic
-rw------- 1 root root 8607504 Apr 30 03:52 /boot/vmlinuz-4.14.34-041434-generic
There are 70,192 files link to kernel version 4.14.34
but only five of them reside in /boot
where you wish to do your renaming.
As mentioned in comments there is little danger of ArchLinux using the same kernel name as Ubuntu because they have their own unique numbering system: How do I map Linux Kernels to Ubuntu Kernels?
NOTE: At the time this was run I had two Ubuntu 16.04 partitions mounted so the 4.14.34
file count is 35,096 for a single 16.04 installation. Also note headers are included which I believe are optional but which I always install "just in case".
Large listing
Below is the beginning of the locate
listing. If vmlinuz
were to be renamed the module files would likely not be locatable:
$ locate 4.14.34 | head -n1000
/boot/System.map-4.14.34-041434-generic
/boot/abi-4.14.34-041434-generic
/boot/config-4.14.34-041434-generic
/boot/initrd.img-4.14.34-041434-generic
/boot/retpoline-4.14.34-041434-generic
/lib/modprobe.d/blacklist_linux_4.14.34-041434-generic.conf
/lib/modules/4.14.34-041434-generic
/lib/modules/4.14.34-041434-generic/build
/lib/modules/4.14.34-041434-generic/initrd
/lib/modules/4.14.34-041434-generic/kernel
/lib/modules/4.14.34-041434-generic/modules.alias
/lib/modules/4.14.34-041434-generic/modules.alias.bin
/lib/modules/4.14.34-041434-generic/modules.builtin
/lib/modules/4.14.34-041434-generic/modules.builtin.bin
/lib/modules/4.14.34-041434-generic/modules.dep
/lib/modules/4.14.34-041434-generic/modules.dep.bin
/lib/modules/4.14.34-041434-generic/modules.devname
/lib/modules/4.14.34-041434-generic/modules.order
/lib/modules/4.14.34-041434-generic/modules.softdep
/lib/modules/4.14.34-041434-generic/modules.symbols
/lib/modules/4.14.34-041434-generic/modules.symbols.bin
/lib/modules/4.14.34-041434-generic/vdso
/lib/modules/4.14.34-041434-generic/kernel/arch
/lib/modules/4.14.34-041434-generic/kernel/block
/lib/modules/4.14.34-041434-generic/kernel/crypto
/lib/modules/4.14.34-041434-generic/kernel/drivers
/lib/modules/4.14.34-041434-generic/kernel/fs
/lib/modules/4.14.34-041434-generic/kernel/kernel
/lib/modules/4.14.34-041434-generic/kernel/lib
/lib/modules/4.14.34-041434-generic/kernel/mm
/lib/modules/4.14.34-041434-generic/kernel/net
/lib/modules/4.14.34-041434-generic/kernel/sound
/lib/modules/4.14.34-041434-generic/kernel/virt
/lib/modules/4.14.34-041434-generic/kernel/arch/x86
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/oprofile
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/platform
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/aes-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/aesni-intel.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/blowfish-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/camellia-aesni-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/camellia-aesni-avx2.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/camellia-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/cast5-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/cast6-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/chacha20-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/crc32-pclmul.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/crct10dif-pclmul.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/des3_ede-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/ghash-clmulni-intel.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/glue_helper.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/poly1305-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/salsa20-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/serpent-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/serpent-avx2.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/serpent-sse2-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha1-mb
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha1-ssse3.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha256-mb
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha256-ssse3.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha512-mb
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha512-ssse3.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/twofish-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/twofish-x86_64-3way.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/twofish-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha1-mb/sha1-mb.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha256-mb/sha256-mb.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha512-mb/sha512-mb.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events/intel
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events/intel/intel-cstate.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events/intel/intel-rapl-perf.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpu
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpuid.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/msr.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpu/mcheck
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpu/mcheck/mce-inject.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm/kvm-amd.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm/kvm-intel.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm/kvm.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/oprofile/oprofile.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/platform/atom
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/platform/atom/punit_atom_debug.ko
/lib/modules/4.14.34-041434-generic/kernel/block/bfq.ko
/lib/modules/4.14.34-041434-generic/kernel/block/kyber-iosched.ko
/lib/modules/4.14.34-041434-generic/kernel/block/mq-deadline.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/842.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ablk_helper.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/aes_ti.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/af_alg.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_aead.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_hash.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_rng.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_skcipher.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ansi_cprng.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/anubis.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/arc4.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/asymmetric_keys
/lib/modules/4.14.34-041434-generic/kernel/crypto/async_tx
/lib/modules/4.14.34-041434-generic/kernel/crypto/authenc.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/authencesn.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/blowfish_common.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/blowfish_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/camellia_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cast5_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cast6_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cast_common.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ccm.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/chacha20_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/chacha20poly1305.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cmac.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crc32_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cryptd.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crypto_engine.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crypto_simd.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crypto_user.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/deflate.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/des_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ecdh_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/echainiv.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/fcrypt.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/keywrap.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/khazad.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/lrw.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/lz4.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/lz4hc.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/mcryptd.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/md4.ko
I thought this was legit, but now I don't think so.locate x.xx.xx
is simply finding instances of that string. Look at yourls -l
output; there's only one link to the files themselves. Who knows what all of thoselocate
hits are (e.g. versioned modules)? What I'm asking is to have a predictable name for the current kernel/init to point the bootloader to.
â Hendy
May 4 at 15:05
Simply leave off the| WC -l
portion to see the file names. If files created today are missing or files deleted today are included, runsudo updatedb
before using locate command.
â WinEunuuchs2Unix
May 4 at 15:08
That's not what I meant. Your statement does not follow. The fact that 72k files use4.14.34
in their name has nothing to do with them being "linked" to the kernel's filename. As a practical test, if you rename your kernel image tovmlinuz-foo
and update your bootloader entry accordingly... what do you predict will happen?
â Hendy
May 4 at 20:01
@Hendy I reranlocate 4.14.34 | wc -l
and the result is35096
which is exactly half of70192
. I was developing a script at the same time which duplicated 16.04 partition to a new partition to prep for 18.04 test upgrade. So the number of files is doubled. I checked the list withoutwc
and as far back as bash shell can scroll they are all valid. I ransudo mv vmlinuz-4.14.34-041434-generic vm-foo
thentime sudo updatedb
thenlocate 4.14.34 | wc -l
and the result is35905
exactly one less. Everything works as it should. Just my initial count was for two Ubuntu 16.04 installations
â WinEunuuchs2Unix
May 4 at 22:48
1
I think we're still crossing paths.locate
gets hits for filenames... that doesn't mean they depend in any way on the name of another file that happens to share part of that name. This is like saying you can't rename alib*
file becauselocate lib | wc -l
gets a ton of hits.
â Hendy
May 6 at 1:48
 |Â
show 2 more comments
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
You can't change the names for Ubuntu kernels because so many programs refers back to the original names. Take for example my current kernel 4.14.34
:
$ locate 4.14.34 | wc -l
70192
$ ll /boot/*4.14.34*
-rw-r--r-- 1 root root 1496011 Apr 12 05:53 /boot/abi-4.14.34-041434-generic
-rw-r--r-- 1 root root 213406 Apr 12 05:53 /boot/config-4.14.34-041434-generic
-rw-r--r-- 1 root root 58514444 Apr 28 13:36 /boot/initrd.img-4.14.34-041434-generic
-rw-r--r-- 1 root root 0 Apr 12 05:53 /boot/retpoline-4.14.34-041434-generic
-rw------- 1 root root 3952348 Apr 12 05:53 /boot/System.map-4.14.34-041434-generic
-rw------- 1 root root 8607504 Apr 30 03:52 /boot/vmlinuz-4.14.34-041434-generic
There are 70,192 files link to kernel version 4.14.34
but only five of them reside in /boot
where you wish to do your renaming.
As mentioned in comments there is little danger of ArchLinux using the same kernel name as Ubuntu because they have their own unique numbering system: How do I map Linux Kernels to Ubuntu Kernels?
NOTE: At the time this was run I had two Ubuntu 16.04 partitions mounted so the 4.14.34
file count is 35,096 for a single 16.04 installation. Also note headers are included which I believe are optional but which I always install "just in case".
Large listing
Below is the beginning of the locate
listing. If vmlinuz
were to be renamed the module files would likely not be locatable:
$ locate 4.14.34 | head -n1000
/boot/System.map-4.14.34-041434-generic
/boot/abi-4.14.34-041434-generic
/boot/config-4.14.34-041434-generic
/boot/initrd.img-4.14.34-041434-generic
/boot/retpoline-4.14.34-041434-generic
/lib/modprobe.d/blacklist_linux_4.14.34-041434-generic.conf
/lib/modules/4.14.34-041434-generic
/lib/modules/4.14.34-041434-generic/build
/lib/modules/4.14.34-041434-generic/initrd
/lib/modules/4.14.34-041434-generic/kernel
/lib/modules/4.14.34-041434-generic/modules.alias
/lib/modules/4.14.34-041434-generic/modules.alias.bin
/lib/modules/4.14.34-041434-generic/modules.builtin
/lib/modules/4.14.34-041434-generic/modules.builtin.bin
/lib/modules/4.14.34-041434-generic/modules.dep
/lib/modules/4.14.34-041434-generic/modules.dep.bin
/lib/modules/4.14.34-041434-generic/modules.devname
/lib/modules/4.14.34-041434-generic/modules.order
/lib/modules/4.14.34-041434-generic/modules.softdep
/lib/modules/4.14.34-041434-generic/modules.symbols
/lib/modules/4.14.34-041434-generic/modules.symbols.bin
/lib/modules/4.14.34-041434-generic/vdso
/lib/modules/4.14.34-041434-generic/kernel/arch
/lib/modules/4.14.34-041434-generic/kernel/block
/lib/modules/4.14.34-041434-generic/kernel/crypto
/lib/modules/4.14.34-041434-generic/kernel/drivers
/lib/modules/4.14.34-041434-generic/kernel/fs
/lib/modules/4.14.34-041434-generic/kernel/kernel
/lib/modules/4.14.34-041434-generic/kernel/lib
/lib/modules/4.14.34-041434-generic/kernel/mm
/lib/modules/4.14.34-041434-generic/kernel/net
/lib/modules/4.14.34-041434-generic/kernel/sound
/lib/modules/4.14.34-041434-generic/kernel/virt
/lib/modules/4.14.34-041434-generic/kernel/arch/x86
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/oprofile
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/platform
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/aes-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/aesni-intel.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/blowfish-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/camellia-aesni-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/camellia-aesni-avx2.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/camellia-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/cast5-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/cast6-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/chacha20-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/crc32-pclmul.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/crct10dif-pclmul.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/des3_ede-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/ghash-clmulni-intel.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/glue_helper.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/poly1305-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/salsa20-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/serpent-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/serpent-avx2.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/serpent-sse2-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha1-mb
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha1-ssse3.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha256-mb
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha256-ssse3.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha512-mb
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha512-ssse3.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/twofish-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/twofish-x86_64-3way.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/twofish-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha1-mb/sha1-mb.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha256-mb/sha256-mb.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha512-mb/sha512-mb.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events/intel
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events/intel/intel-cstate.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events/intel/intel-rapl-perf.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpu
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpuid.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/msr.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpu/mcheck
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpu/mcheck/mce-inject.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm/kvm-amd.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm/kvm-intel.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm/kvm.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/oprofile/oprofile.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/platform/atom
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/platform/atom/punit_atom_debug.ko
/lib/modules/4.14.34-041434-generic/kernel/block/bfq.ko
/lib/modules/4.14.34-041434-generic/kernel/block/kyber-iosched.ko
/lib/modules/4.14.34-041434-generic/kernel/block/mq-deadline.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/842.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ablk_helper.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/aes_ti.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/af_alg.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_aead.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_hash.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_rng.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_skcipher.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ansi_cprng.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/anubis.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/arc4.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/asymmetric_keys
/lib/modules/4.14.34-041434-generic/kernel/crypto/async_tx
/lib/modules/4.14.34-041434-generic/kernel/crypto/authenc.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/authencesn.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/blowfish_common.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/blowfish_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/camellia_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cast5_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cast6_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cast_common.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ccm.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/chacha20_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/chacha20poly1305.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cmac.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crc32_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cryptd.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crypto_engine.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crypto_simd.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crypto_user.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/deflate.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/des_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ecdh_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/echainiv.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/fcrypt.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/keywrap.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/khazad.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/lrw.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/lz4.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/lz4hc.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/mcryptd.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/md4.ko
I thought this was legit, but now I don't think so.locate x.xx.xx
is simply finding instances of that string. Look at yourls -l
output; there's only one link to the files themselves. Who knows what all of thoselocate
hits are (e.g. versioned modules)? What I'm asking is to have a predictable name for the current kernel/init to point the bootloader to.
â Hendy
May 4 at 15:05
Simply leave off the| WC -l
portion to see the file names. If files created today are missing or files deleted today are included, runsudo updatedb
before using locate command.
â WinEunuuchs2Unix
May 4 at 15:08
That's not what I meant. Your statement does not follow. The fact that 72k files use4.14.34
in their name has nothing to do with them being "linked" to the kernel's filename. As a practical test, if you rename your kernel image tovmlinuz-foo
and update your bootloader entry accordingly... what do you predict will happen?
â Hendy
May 4 at 20:01
@Hendy I reranlocate 4.14.34 | wc -l
and the result is35096
which is exactly half of70192
. I was developing a script at the same time which duplicated 16.04 partition to a new partition to prep for 18.04 test upgrade. So the number of files is doubled. I checked the list withoutwc
and as far back as bash shell can scroll they are all valid. I ransudo mv vmlinuz-4.14.34-041434-generic vm-foo
thentime sudo updatedb
thenlocate 4.14.34 | wc -l
and the result is35905
exactly one less. Everything works as it should. Just my initial count was for two Ubuntu 16.04 installations
â WinEunuuchs2Unix
May 4 at 22:48
1
I think we're still crossing paths.locate
gets hits for filenames... that doesn't mean they depend in any way on the name of another file that happens to share part of that name. This is like saying you can't rename alib*
file becauselocate lib | wc -l
gets a ton of hits.
â Hendy
May 6 at 1:48
 |Â
show 2 more comments
up vote
1
down vote
You can't change the names for Ubuntu kernels because so many programs refers back to the original names. Take for example my current kernel 4.14.34
:
$ locate 4.14.34 | wc -l
70192
$ ll /boot/*4.14.34*
-rw-r--r-- 1 root root 1496011 Apr 12 05:53 /boot/abi-4.14.34-041434-generic
-rw-r--r-- 1 root root 213406 Apr 12 05:53 /boot/config-4.14.34-041434-generic
-rw-r--r-- 1 root root 58514444 Apr 28 13:36 /boot/initrd.img-4.14.34-041434-generic
-rw-r--r-- 1 root root 0 Apr 12 05:53 /boot/retpoline-4.14.34-041434-generic
-rw------- 1 root root 3952348 Apr 12 05:53 /boot/System.map-4.14.34-041434-generic
-rw------- 1 root root 8607504 Apr 30 03:52 /boot/vmlinuz-4.14.34-041434-generic
There are 70,192 files link to kernel version 4.14.34
but only five of them reside in /boot
where you wish to do your renaming.
As mentioned in comments there is little danger of ArchLinux using the same kernel name as Ubuntu because they have their own unique numbering system: How do I map Linux Kernels to Ubuntu Kernels?
NOTE: At the time this was run I had two Ubuntu 16.04 partitions mounted so the 4.14.34
file count is 35,096 for a single 16.04 installation. Also note headers are included which I believe are optional but which I always install "just in case".
Large listing
Below is the beginning of the locate
listing. If vmlinuz
were to be renamed the module files would likely not be locatable:
$ locate 4.14.34 | head -n1000
/boot/System.map-4.14.34-041434-generic
/boot/abi-4.14.34-041434-generic
/boot/config-4.14.34-041434-generic
/boot/initrd.img-4.14.34-041434-generic
/boot/retpoline-4.14.34-041434-generic
/lib/modprobe.d/blacklist_linux_4.14.34-041434-generic.conf
/lib/modules/4.14.34-041434-generic
/lib/modules/4.14.34-041434-generic/build
/lib/modules/4.14.34-041434-generic/initrd
/lib/modules/4.14.34-041434-generic/kernel
/lib/modules/4.14.34-041434-generic/modules.alias
/lib/modules/4.14.34-041434-generic/modules.alias.bin
/lib/modules/4.14.34-041434-generic/modules.builtin
/lib/modules/4.14.34-041434-generic/modules.builtin.bin
/lib/modules/4.14.34-041434-generic/modules.dep
/lib/modules/4.14.34-041434-generic/modules.dep.bin
/lib/modules/4.14.34-041434-generic/modules.devname
/lib/modules/4.14.34-041434-generic/modules.order
/lib/modules/4.14.34-041434-generic/modules.softdep
/lib/modules/4.14.34-041434-generic/modules.symbols
/lib/modules/4.14.34-041434-generic/modules.symbols.bin
/lib/modules/4.14.34-041434-generic/vdso
/lib/modules/4.14.34-041434-generic/kernel/arch
/lib/modules/4.14.34-041434-generic/kernel/block
/lib/modules/4.14.34-041434-generic/kernel/crypto
/lib/modules/4.14.34-041434-generic/kernel/drivers
/lib/modules/4.14.34-041434-generic/kernel/fs
/lib/modules/4.14.34-041434-generic/kernel/kernel
/lib/modules/4.14.34-041434-generic/kernel/lib
/lib/modules/4.14.34-041434-generic/kernel/mm
/lib/modules/4.14.34-041434-generic/kernel/net
/lib/modules/4.14.34-041434-generic/kernel/sound
/lib/modules/4.14.34-041434-generic/kernel/virt
/lib/modules/4.14.34-041434-generic/kernel/arch/x86
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/oprofile
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/platform
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/aes-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/aesni-intel.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/blowfish-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/camellia-aesni-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/camellia-aesni-avx2.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/camellia-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/cast5-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/cast6-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/chacha20-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/crc32-pclmul.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/crct10dif-pclmul.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/des3_ede-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/ghash-clmulni-intel.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/glue_helper.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/poly1305-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/salsa20-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/serpent-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/serpent-avx2.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/serpent-sse2-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha1-mb
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha1-ssse3.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha256-mb
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha256-ssse3.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha512-mb
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha512-ssse3.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/twofish-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/twofish-x86_64-3way.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/twofish-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha1-mb/sha1-mb.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha256-mb/sha256-mb.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha512-mb/sha512-mb.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events/intel
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events/intel/intel-cstate.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events/intel/intel-rapl-perf.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpu
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpuid.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/msr.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpu/mcheck
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpu/mcheck/mce-inject.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm/kvm-amd.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm/kvm-intel.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm/kvm.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/oprofile/oprofile.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/platform/atom
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/platform/atom/punit_atom_debug.ko
/lib/modules/4.14.34-041434-generic/kernel/block/bfq.ko
/lib/modules/4.14.34-041434-generic/kernel/block/kyber-iosched.ko
/lib/modules/4.14.34-041434-generic/kernel/block/mq-deadline.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/842.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ablk_helper.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/aes_ti.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/af_alg.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_aead.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_hash.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_rng.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_skcipher.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ansi_cprng.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/anubis.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/arc4.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/asymmetric_keys
/lib/modules/4.14.34-041434-generic/kernel/crypto/async_tx
/lib/modules/4.14.34-041434-generic/kernel/crypto/authenc.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/authencesn.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/blowfish_common.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/blowfish_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/camellia_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cast5_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cast6_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cast_common.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ccm.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/chacha20_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/chacha20poly1305.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cmac.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crc32_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cryptd.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crypto_engine.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crypto_simd.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crypto_user.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/deflate.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/des_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ecdh_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/echainiv.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/fcrypt.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/keywrap.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/khazad.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/lrw.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/lz4.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/lz4hc.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/mcryptd.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/md4.ko
I thought this was legit, but now I don't think so.locate x.xx.xx
is simply finding instances of that string. Look at yourls -l
output; there's only one link to the files themselves. Who knows what all of thoselocate
hits are (e.g. versioned modules)? What I'm asking is to have a predictable name for the current kernel/init to point the bootloader to.
â Hendy
May 4 at 15:05
Simply leave off the| WC -l
portion to see the file names. If files created today are missing or files deleted today are included, runsudo updatedb
before using locate command.
â WinEunuuchs2Unix
May 4 at 15:08
That's not what I meant. Your statement does not follow. The fact that 72k files use4.14.34
in their name has nothing to do with them being "linked" to the kernel's filename. As a practical test, if you rename your kernel image tovmlinuz-foo
and update your bootloader entry accordingly... what do you predict will happen?
â Hendy
May 4 at 20:01
@Hendy I reranlocate 4.14.34 | wc -l
and the result is35096
which is exactly half of70192
. I was developing a script at the same time which duplicated 16.04 partition to a new partition to prep for 18.04 test upgrade. So the number of files is doubled. I checked the list withoutwc
and as far back as bash shell can scroll they are all valid. I ransudo mv vmlinuz-4.14.34-041434-generic vm-foo
thentime sudo updatedb
thenlocate 4.14.34 | wc -l
and the result is35905
exactly one less. Everything works as it should. Just my initial count was for two Ubuntu 16.04 installations
â WinEunuuchs2Unix
May 4 at 22:48
1
I think we're still crossing paths.locate
gets hits for filenames... that doesn't mean they depend in any way on the name of another file that happens to share part of that name. This is like saying you can't rename alib*
file becauselocate lib | wc -l
gets a ton of hits.
â Hendy
May 6 at 1:48
 |Â
show 2 more comments
up vote
1
down vote
up vote
1
down vote
You can't change the names for Ubuntu kernels because so many programs refers back to the original names. Take for example my current kernel 4.14.34
:
$ locate 4.14.34 | wc -l
70192
$ ll /boot/*4.14.34*
-rw-r--r-- 1 root root 1496011 Apr 12 05:53 /boot/abi-4.14.34-041434-generic
-rw-r--r-- 1 root root 213406 Apr 12 05:53 /boot/config-4.14.34-041434-generic
-rw-r--r-- 1 root root 58514444 Apr 28 13:36 /boot/initrd.img-4.14.34-041434-generic
-rw-r--r-- 1 root root 0 Apr 12 05:53 /boot/retpoline-4.14.34-041434-generic
-rw------- 1 root root 3952348 Apr 12 05:53 /boot/System.map-4.14.34-041434-generic
-rw------- 1 root root 8607504 Apr 30 03:52 /boot/vmlinuz-4.14.34-041434-generic
There are 70,192 files link to kernel version 4.14.34
but only five of them reside in /boot
where you wish to do your renaming.
As mentioned in comments there is little danger of ArchLinux using the same kernel name as Ubuntu because they have their own unique numbering system: How do I map Linux Kernels to Ubuntu Kernels?
NOTE: At the time this was run I had two Ubuntu 16.04 partitions mounted so the 4.14.34
file count is 35,096 for a single 16.04 installation. Also note headers are included which I believe are optional but which I always install "just in case".
Large listing
Below is the beginning of the locate
listing. If vmlinuz
were to be renamed the module files would likely not be locatable:
$ locate 4.14.34 | head -n1000
/boot/System.map-4.14.34-041434-generic
/boot/abi-4.14.34-041434-generic
/boot/config-4.14.34-041434-generic
/boot/initrd.img-4.14.34-041434-generic
/boot/retpoline-4.14.34-041434-generic
/lib/modprobe.d/blacklist_linux_4.14.34-041434-generic.conf
/lib/modules/4.14.34-041434-generic
/lib/modules/4.14.34-041434-generic/build
/lib/modules/4.14.34-041434-generic/initrd
/lib/modules/4.14.34-041434-generic/kernel
/lib/modules/4.14.34-041434-generic/modules.alias
/lib/modules/4.14.34-041434-generic/modules.alias.bin
/lib/modules/4.14.34-041434-generic/modules.builtin
/lib/modules/4.14.34-041434-generic/modules.builtin.bin
/lib/modules/4.14.34-041434-generic/modules.dep
/lib/modules/4.14.34-041434-generic/modules.dep.bin
/lib/modules/4.14.34-041434-generic/modules.devname
/lib/modules/4.14.34-041434-generic/modules.order
/lib/modules/4.14.34-041434-generic/modules.softdep
/lib/modules/4.14.34-041434-generic/modules.symbols
/lib/modules/4.14.34-041434-generic/modules.symbols.bin
/lib/modules/4.14.34-041434-generic/vdso
/lib/modules/4.14.34-041434-generic/kernel/arch
/lib/modules/4.14.34-041434-generic/kernel/block
/lib/modules/4.14.34-041434-generic/kernel/crypto
/lib/modules/4.14.34-041434-generic/kernel/drivers
/lib/modules/4.14.34-041434-generic/kernel/fs
/lib/modules/4.14.34-041434-generic/kernel/kernel
/lib/modules/4.14.34-041434-generic/kernel/lib
/lib/modules/4.14.34-041434-generic/kernel/mm
/lib/modules/4.14.34-041434-generic/kernel/net
/lib/modules/4.14.34-041434-generic/kernel/sound
/lib/modules/4.14.34-041434-generic/kernel/virt
/lib/modules/4.14.34-041434-generic/kernel/arch/x86
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/oprofile
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/platform
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/aes-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/aesni-intel.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/blowfish-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/camellia-aesni-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/camellia-aesni-avx2.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/camellia-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/cast5-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/cast6-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/chacha20-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/crc32-pclmul.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/crct10dif-pclmul.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/des3_ede-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/ghash-clmulni-intel.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/glue_helper.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/poly1305-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/salsa20-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/serpent-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/serpent-avx2.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/serpent-sse2-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha1-mb
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha1-ssse3.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha256-mb
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha256-ssse3.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha512-mb
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha512-ssse3.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/twofish-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/twofish-x86_64-3way.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/twofish-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha1-mb/sha1-mb.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha256-mb/sha256-mb.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha512-mb/sha512-mb.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events/intel
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events/intel/intel-cstate.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events/intel/intel-rapl-perf.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpu
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpuid.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/msr.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpu/mcheck
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpu/mcheck/mce-inject.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm/kvm-amd.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm/kvm-intel.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm/kvm.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/oprofile/oprofile.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/platform/atom
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/platform/atom/punit_atom_debug.ko
/lib/modules/4.14.34-041434-generic/kernel/block/bfq.ko
/lib/modules/4.14.34-041434-generic/kernel/block/kyber-iosched.ko
/lib/modules/4.14.34-041434-generic/kernel/block/mq-deadline.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/842.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ablk_helper.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/aes_ti.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/af_alg.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_aead.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_hash.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_rng.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_skcipher.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ansi_cprng.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/anubis.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/arc4.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/asymmetric_keys
/lib/modules/4.14.34-041434-generic/kernel/crypto/async_tx
/lib/modules/4.14.34-041434-generic/kernel/crypto/authenc.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/authencesn.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/blowfish_common.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/blowfish_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/camellia_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cast5_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cast6_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cast_common.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ccm.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/chacha20_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/chacha20poly1305.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cmac.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crc32_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cryptd.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crypto_engine.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crypto_simd.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crypto_user.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/deflate.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/des_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ecdh_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/echainiv.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/fcrypt.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/keywrap.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/khazad.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/lrw.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/lz4.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/lz4hc.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/mcryptd.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/md4.ko
You can't change the names for Ubuntu kernels because so many programs refers back to the original names. Take for example my current kernel 4.14.34
:
$ locate 4.14.34 | wc -l
70192
$ ll /boot/*4.14.34*
-rw-r--r-- 1 root root 1496011 Apr 12 05:53 /boot/abi-4.14.34-041434-generic
-rw-r--r-- 1 root root 213406 Apr 12 05:53 /boot/config-4.14.34-041434-generic
-rw-r--r-- 1 root root 58514444 Apr 28 13:36 /boot/initrd.img-4.14.34-041434-generic
-rw-r--r-- 1 root root 0 Apr 12 05:53 /boot/retpoline-4.14.34-041434-generic
-rw------- 1 root root 3952348 Apr 12 05:53 /boot/System.map-4.14.34-041434-generic
-rw------- 1 root root 8607504 Apr 30 03:52 /boot/vmlinuz-4.14.34-041434-generic
There are 70,192 files link to kernel version 4.14.34
but only five of them reside in /boot
where you wish to do your renaming.
As mentioned in comments there is little danger of ArchLinux using the same kernel name as Ubuntu because they have their own unique numbering system: How do I map Linux Kernels to Ubuntu Kernels?
NOTE: At the time this was run I had two Ubuntu 16.04 partitions mounted so the 4.14.34
file count is 35,096 for a single 16.04 installation. Also note headers are included which I believe are optional but which I always install "just in case".
Large listing
Below is the beginning of the locate
listing. If vmlinuz
were to be renamed the module files would likely not be locatable:
$ locate 4.14.34 | head -n1000
/boot/System.map-4.14.34-041434-generic
/boot/abi-4.14.34-041434-generic
/boot/config-4.14.34-041434-generic
/boot/initrd.img-4.14.34-041434-generic
/boot/retpoline-4.14.34-041434-generic
/lib/modprobe.d/blacklist_linux_4.14.34-041434-generic.conf
/lib/modules/4.14.34-041434-generic
/lib/modules/4.14.34-041434-generic/build
/lib/modules/4.14.34-041434-generic/initrd
/lib/modules/4.14.34-041434-generic/kernel
/lib/modules/4.14.34-041434-generic/modules.alias
/lib/modules/4.14.34-041434-generic/modules.alias.bin
/lib/modules/4.14.34-041434-generic/modules.builtin
/lib/modules/4.14.34-041434-generic/modules.builtin.bin
/lib/modules/4.14.34-041434-generic/modules.dep
/lib/modules/4.14.34-041434-generic/modules.dep.bin
/lib/modules/4.14.34-041434-generic/modules.devname
/lib/modules/4.14.34-041434-generic/modules.order
/lib/modules/4.14.34-041434-generic/modules.softdep
/lib/modules/4.14.34-041434-generic/modules.symbols
/lib/modules/4.14.34-041434-generic/modules.symbols.bin
/lib/modules/4.14.34-041434-generic/vdso
/lib/modules/4.14.34-041434-generic/kernel/arch
/lib/modules/4.14.34-041434-generic/kernel/block
/lib/modules/4.14.34-041434-generic/kernel/crypto
/lib/modules/4.14.34-041434-generic/kernel/drivers
/lib/modules/4.14.34-041434-generic/kernel/fs
/lib/modules/4.14.34-041434-generic/kernel/kernel
/lib/modules/4.14.34-041434-generic/kernel/lib
/lib/modules/4.14.34-041434-generic/kernel/mm
/lib/modules/4.14.34-041434-generic/kernel/net
/lib/modules/4.14.34-041434-generic/kernel/sound
/lib/modules/4.14.34-041434-generic/kernel/virt
/lib/modules/4.14.34-041434-generic/kernel/arch/x86
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/oprofile
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/platform
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/aes-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/aesni-intel.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/blowfish-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/camellia-aesni-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/camellia-aesni-avx2.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/camellia-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/cast5-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/cast6-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/chacha20-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/crc32-pclmul.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/crct10dif-pclmul.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/des3_ede-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/ghash-clmulni-intel.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/glue_helper.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/poly1305-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/salsa20-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/serpent-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/serpent-avx2.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/serpent-sse2-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha1-mb
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha1-ssse3.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha256-mb
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha256-ssse3.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha512-mb
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha512-ssse3.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/twofish-avx-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/twofish-x86_64-3way.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/twofish-x86_64.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha1-mb/sha1-mb.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha256-mb/sha256-mb.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/crypto/sha512-mb/sha512-mb.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events/intel
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events/intel/intel-cstate.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/events/intel/intel-rapl-perf.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpu
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpuid.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/msr.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpu/mcheck
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kernel/cpu/mcheck/mce-inject.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm/kvm-amd.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm/kvm-intel.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/kvm/kvm.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/oprofile/oprofile.ko
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/platform/atom
/lib/modules/4.14.34-041434-generic/kernel/arch/x86/platform/atom/punit_atom_debug.ko
/lib/modules/4.14.34-041434-generic/kernel/block/bfq.ko
/lib/modules/4.14.34-041434-generic/kernel/block/kyber-iosched.ko
/lib/modules/4.14.34-041434-generic/kernel/block/mq-deadline.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/842.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ablk_helper.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/aes_ti.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/af_alg.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_aead.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_hash.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_rng.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/algif_skcipher.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ansi_cprng.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/anubis.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/arc4.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/asymmetric_keys
/lib/modules/4.14.34-041434-generic/kernel/crypto/async_tx
/lib/modules/4.14.34-041434-generic/kernel/crypto/authenc.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/authencesn.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/blowfish_common.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/blowfish_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/camellia_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cast5_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cast6_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cast_common.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ccm.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/chacha20_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/chacha20poly1305.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cmac.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crc32_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/cryptd.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crypto_engine.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crypto_simd.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/crypto_user.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/deflate.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/des_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/ecdh_generic.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/echainiv.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/fcrypt.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/keywrap.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/khazad.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/lrw.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/lz4.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/lz4hc.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/mcryptd.ko
/lib/modules/4.14.34-041434-generic/kernel/crypto/md4.ko
edited May 4 at 22:59
answered May 1 at 0:24
![](https://i.stack.imgur.com/2SXNl.jpg?s=32&g=1)
![](https://i.stack.imgur.com/2SXNl.jpg?s=32&g=1)
WinEunuuchs2Unix
35.4k758132
35.4k758132
I thought this was legit, but now I don't think so.locate x.xx.xx
is simply finding instances of that string. Look at yourls -l
output; there's only one link to the files themselves. Who knows what all of thoselocate
hits are (e.g. versioned modules)? What I'm asking is to have a predictable name for the current kernel/init to point the bootloader to.
â Hendy
May 4 at 15:05
Simply leave off the| WC -l
portion to see the file names. If files created today are missing or files deleted today are included, runsudo updatedb
before using locate command.
â WinEunuuchs2Unix
May 4 at 15:08
That's not what I meant. Your statement does not follow. The fact that 72k files use4.14.34
in their name has nothing to do with them being "linked" to the kernel's filename. As a practical test, if you rename your kernel image tovmlinuz-foo
and update your bootloader entry accordingly... what do you predict will happen?
â Hendy
May 4 at 20:01
@Hendy I reranlocate 4.14.34 | wc -l
and the result is35096
which is exactly half of70192
. I was developing a script at the same time which duplicated 16.04 partition to a new partition to prep for 18.04 test upgrade. So the number of files is doubled. I checked the list withoutwc
and as far back as bash shell can scroll they are all valid. I ransudo mv vmlinuz-4.14.34-041434-generic vm-foo
thentime sudo updatedb
thenlocate 4.14.34 | wc -l
and the result is35905
exactly one less. Everything works as it should. Just my initial count was for two Ubuntu 16.04 installations
â WinEunuuchs2Unix
May 4 at 22:48
1
I think we're still crossing paths.locate
gets hits for filenames... that doesn't mean they depend in any way on the name of another file that happens to share part of that name. This is like saying you can't rename alib*
file becauselocate lib | wc -l
gets a ton of hits.
â Hendy
May 6 at 1:48
 |Â
show 2 more comments
I thought this was legit, but now I don't think so.locate x.xx.xx
is simply finding instances of that string. Look at yourls -l
output; there's only one link to the files themselves. Who knows what all of thoselocate
hits are (e.g. versioned modules)? What I'm asking is to have a predictable name for the current kernel/init to point the bootloader to.
â Hendy
May 4 at 15:05
Simply leave off the| WC -l
portion to see the file names. If files created today are missing or files deleted today are included, runsudo updatedb
before using locate command.
â WinEunuuchs2Unix
May 4 at 15:08
That's not what I meant. Your statement does not follow. The fact that 72k files use4.14.34
in their name has nothing to do with them being "linked" to the kernel's filename. As a practical test, if you rename your kernel image tovmlinuz-foo
and update your bootloader entry accordingly... what do you predict will happen?
â Hendy
May 4 at 20:01
@Hendy I reranlocate 4.14.34 | wc -l
and the result is35096
which is exactly half of70192
. I was developing a script at the same time which duplicated 16.04 partition to a new partition to prep for 18.04 test upgrade. So the number of files is doubled. I checked the list withoutwc
and as far back as bash shell can scroll they are all valid. I ransudo mv vmlinuz-4.14.34-041434-generic vm-foo
thentime sudo updatedb
thenlocate 4.14.34 | wc -l
and the result is35905
exactly one less. Everything works as it should. Just my initial count was for two Ubuntu 16.04 installations
â WinEunuuchs2Unix
May 4 at 22:48
1
I think we're still crossing paths.locate
gets hits for filenames... that doesn't mean they depend in any way on the name of another file that happens to share part of that name. This is like saying you can't rename alib*
file becauselocate lib | wc -l
gets a ton of hits.
â Hendy
May 6 at 1:48
I thought this was legit, but now I don't think so.
locate x.xx.xx
is simply finding instances of that string. Look at your ls -l
output; there's only one link to the files themselves. Who knows what all of those locate
hits are (e.g. versioned modules)? What I'm asking is to have a predictable name for the current kernel/init to point the bootloader to.â Hendy
May 4 at 15:05
I thought this was legit, but now I don't think so.
locate x.xx.xx
is simply finding instances of that string. Look at your ls -l
output; there's only one link to the files themselves. Who knows what all of those locate
hits are (e.g. versioned modules)? What I'm asking is to have a predictable name for the current kernel/init to point the bootloader to.â Hendy
May 4 at 15:05
Simply leave off the
| WC -l
portion to see the file names. If files created today are missing or files deleted today are included, run sudo updatedb
before using locate command.â WinEunuuchs2Unix
May 4 at 15:08
Simply leave off the
| WC -l
portion to see the file names. If files created today are missing or files deleted today are included, run sudo updatedb
before using locate command.â WinEunuuchs2Unix
May 4 at 15:08
That's not what I meant. Your statement does not follow. The fact that 72k files use
4.14.34
in their name has nothing to do with them being "linked" to the kernel's filename. As a practical test, if you rename your kernel image to vmlinuz-foo
and update your bootloader entry accordingly... what do you predict will happen?â Hendy
May 4 at 20:01
That's not what I meant. Your statement does not follow. The fact that 72k files use
4.14.34
in their name has nothing to do with them being "linked" to the kernel's filename. As a practical test, if you rename your kernel image to vmlinuz-foo
and update your bootloader entry accordingly... what do you predict will happen?â Hendy
May 4 at 20:01
@Hendy I reran
locate 4.14.34 | wc -l
and the result is 35096
which is exactly half of 70192
. I was developing a script at the same time which duplicated 16.04 partition to a new partition to prep for 18.04 test upgrade. So the number of files is doubled. I checked the list without wc
and as far back as bash shell can scroll they are all valid. I ran sudo mv vmlinuz-4.14.34-041434-generic vm-foo
then time sudo updatedb
then locate 4.14.34 | wc -l
and the result is 35905
exactly one less. Everything works as it should. Just my initial count was for two Ubuntu 16.04 installationsâ WinEunuuchs2Unix
May 4 at 22:48
@Hendy I reran
locate 4.14.34 | wc -l
and the result is 35096
which is exactly half of 70192
. I was developing a script at the same time which duplicated 16.04 partition to a new partition to prep for 18.04 test upgrade. So the number of files is doubled. I checked the list without wc
and as far back as bash shell can scroll they are all valid. I ran sudo mv vmlinuz-4.14.34-041434-generic vm-foo
then time sudo updatedb
then locate 4.14.34 | wc -l
and the result is 35905
exactly one less. Everything works as it should. Just my initial count was for two Ubuntu 16.04 installationsâ WinEunuuchs2Unix
May 4 at 22:48
1
1
I think we're still crossing paths.
locate
gets hits for filenames... that doesn't mean they depend in any way on the name of another file that happens to share part of that name. This is like saying you can't rename a lib*
file because locate lib | wc -l
gets a ton of hits.â Hendy
May 6 at 1:48
I think we're still crossing paths.
locate
gets hits for filenames... that doesn't mean they depend in any way on the name of another file that happens to share part of that name. This is like saying you can't rename a lib*
file because locate lib | wc -l
gets a ton of hits.â Hendy
May 6 at 1:48
 |Â
show 2 more comments
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1030172%2fset-custom-names-for-vmlinuz-and-initrd-so-multiple-distros-can-share-boot-direc%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
If it's the same name it should be the same kernel.
â WinEunuuchs2Unix
Apr 30 at 15:17
@WinEunuuchs2Unix ah, interesting. So since arch will never conflict, I don't really need to care as xenial/bionic can run off the same one?
â Hendy
Apr 30 at 15:30
I will add that this still would be helpful, as I'd know in advance what the kernel is called. I have been symlinking
/boot/vmlinuz-xenial
to it's most recent versioned instance, for example. If it always wasfoo-xenial
that would avoid me having to do that.â Hendy
Apr 30 at 15:31
I believe arch uses real Linux number. Ubuntu starts off real ie Linux 4.15 but keeps it long after Linux number is EOL. They just adding suffix to dead kernel number as they update it with code from future real kernels. Drives me nuts and there is no cross reference table kept up to date I could find. I posted a question on that topic here in Ask Ubuntu.
â WinEunuuchs2Unix
Apr 30 at 17:40