Set custom names for vmlinuz and initrd so multiple distros can share boot directory

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP








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.







share|improve this question






















  • 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 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















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.







share|improve this question






















  • 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 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













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.







share|improve this question














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.









share|improve this question













share|improve this question




share|improve this question








edited May 16 at 13:41

























asked Apr 30 at 15:09









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 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

















  • 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 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
















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











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





share|improve this answer






















  • 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











  • 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






  • 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











Your Answer







StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "89"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: false,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);








 

draft saved


draft discarded


















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






























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





share|improve this answer






















  • 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











  • 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






  • 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















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





share|improve this answer






















  • 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











  • 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






  • 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













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





share|improve this answer














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






share|improve this answer














share|improve this answer



share|improve this answer








edited May 4 at 22:59

























answered May 1 at 0:24









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 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











  • 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






  • 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 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











  • 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






  • 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 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













 

draft saved


draft discarded


























 


draft saved


draft discarded














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













































































Popular posts from this blog

pylint3 and pip3 broken

Missing snmpget and snmpwalk

How to enroll fingerprints to Ubuntu 17.10 with VFS491