Skip to main content
Topic: ERROR: invalid kernel specified: `/boot/vmlinuz-linux' (Read 3500 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

ERROR: invalid kernel specified: `/boot/vmlinuz-linux'

Tonight I did updates and got this:

Code: [Select]
# pacman -Syu
:: Synchronizing package databases...
 system                                                                    263.0 KiB   301 KiB/s 00:01 [#############################################################] 100%
 world                                                                    1920.0 KiB  1444 KiB/s 00:01 [#############################################################] 100%
 galaxy                                                                   1887.2 KiB   614 KiB/s 00:03 [#############################################################] 100%
 extra                                                                    1568.6 KiB   510 KiB/s 00:03 [#############################################################] 100%
 community                                                                   5.6 MiB   963 KiB/s 00:06 [#############################################################] 100%
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Packages (4) libstemmer-2.1.0-1  linux-5.13.10.artix1-1  qt5-base-5.15.2+kde+r215-1  sdl2-2.0.16-2

Total Download Size:   138.29 MiB
Total Installed Size:  198.78 MiB
Net Upgrade Size:        0.22 MiB

:: Proceed with installation? [Y/n] Y
:: Retrieving packages...
 libstemmer-2.1.0-1-x86_64                                                 134.1 KiB   317 KiB/s 00:00 [#############################################################] 100%
 sdl2-2.0.16-2-x86_64                                                      790.8 KiB   616 KiB/s 00:01 [#############################################################] 100%
 qt5-base-5.15.2+kde+r215-1-x86_64                                          13.0 MiB  1414 KiB/s 00:09 [#############################################################] 100%
 linux-5.13.10.artix1-1-x86_64                                             124.4 MiB  2.88 MiB/s 00:43 [#############################################################] 100%
 Total (4/4)                                                               138.3 MiB  3.20 MiB/s 00:43 [#############################################################] 100%
(4/4) checking keys in keyring                                                                         [#############################################################] 100%
(4/4) checking package integrity                                                                       [#############################################################] 100%
(4/4) loading package files                                                                            [#############################################################] 100%
(4/4) checking for file conflicts                                                                      [#############################################################] 100%
(4/4) checking available disk space                                                                    [#############################################################] 100%
:: Running pre-transaction hooks...
(1/1) Removing linux initcpios...
:: Processing package changes...
(1/4) upgrading libstemmer                                                                             [#############################################################] 100%
(2/4) upgrading linux                                                                                  [#############################################################] 100%
(3/4) upgrading qt5-base                                                                               [#############################################################] 100%
(4/4) upgrading sdl2                                                                                   [#############################################################] 100%
New optional dependencies for sdl2
    pipewire: PipeWire audio driver
:: Running post-transaction hooks...
(1/2) Updating module dependencies...
(2/2) Updating linux initcpios...
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> ERROR: invalid kernel specified: `/boot/vmlinuz-linux'
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> ERROR: invalid kernel specified: `/boot/vmlinuz-linux'
error: command failed to execute correctly
pacman -Syu  4.48s user 4.32s system 15% cpu 55.714 total

I'm pretty sure I don't want to reboot. I was wondering if anyone has ever seen anything like this.

Thanks.

Re: ERROR: invalid kernel specified: `/boot/vmlinuz-linux'

Reply #1
Did you try running mkinitcpio -p linux manually? That's not a good error to get in any case though.

Re: ERROR: invalid kernel specified: `/boot/vmlinuz-linux'

Reply #2
So check what's in /etc/mkinitcpio.conf, /etc/mkinitcpio.d/linux.preset and your boot manager configuration. They should contain, and agree on, the correct path to the kernel. Right now, they don't.

Code: [Select]
# ls -l /boot

Re: ERROR: invalid kernel specified: `/boot/vmlinuz-linux'

Reply #3
Thanks for the ideas! Here are some outputs:

Tried running mkinitcpio -p linux manually:
Code: [Select]
/boot # mkinitcpio -p linux
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> ERROR: invalid kernel specified: `/boot/vmlinuz-linux'
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> ERROR: invalid kernel specified: `/boot/vmlinuz-linux'

Code: [Select]
/boot # ls -l
total 14052
drwxr-xr-x 5 root root    4096 Feb 18 11:38 EFI/
drwxr-xr-x 6 root root    4096 Aug 14 05:23 grub/
-rwxr-xr-x 1 root root 4769792 Jun  9 08:35 intel-ucode.img
-rwxr-xr-x 1 root root 9606464 Aug 13 22:29 vmlinuz-linux

I have no /boot/initramfs-linux.img

Code: [Select]
/etc # show_uncommented_lines.sh mkinitcpio.conf 
MODULES=()
BINARIES=()
FILES=()
HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)

Code: [Select]
/etc/mkinitcpio.d # cat linux.preset 
# mkinitcpio preset file for the 'linux' package

ALL_config="/etc/mkinitcpio.conf"
ALL_kver="/boot/vmlinuz-linux"

PRESETS=('default' 'fallback')

#default_config="/etc/mkinitcpio.conf"
default_image="/boot/initramfs-linux.img"
#default_options=""

#fallback_config="/etc/mkinitcpio.conf"
fallback_image="/boot/initramfs-linux-fallback.img"
fallback_options="-S autodetect" 


This machine has been running Artix fine for almost two years. I haven't modified /etc/mkinitcpio.conf, /etc/mkinitcpio.d/linux.preset, or /etc/default/grub recently.

I do recall that because I have an MSI motherboard, I had to add --removable to the grub-mkconfig line:

Code: [Select]
grub-install --target=x86_64-efi --efi-directory=/boot/ --bootloader-id=grub --removable

I can't find any notes on this, but I believe it causes a change in where BOOTX64.EFI is stored. Mine is located at
Code: [Select]
/boot/EFI/BOOT/BOOTX64.EFI

Could you please check where yours is? Thanks again.

Re: ERROR: invalid kernel specified: `/boot/vmlinuz-linux'

Reply #4
This can be found by web search: https://bbs.archlinux.org/viewtopic.php?id=252418

What does the
Code: [Select]
$ which hexdump
give? If /usr/local/bin/hexdump, remove your custom version of util-linux and do
Code: [Select]
$ su
# pacman -S util-linux

There are other ideas for debugging in that thread (like adding set -x).

This thread: https://bbs.archlinux.org/viewtopic.php?id=250486
solves the problem by removing mkinitcpio-git and replacing it with normal mkinitcpio package.

So, essentially, double check if Artix repositories are before the Arch repositories in /etc/pacman.conf, and do:
Code: [Select]
$ su
# pacman -S linux linux-headers util-linux mkinitcpio

Next time, you should first search if anyone on the web had a similar problem. Often that turns out to be the case.

 

Re: ERROR: invalid kernel specified: `/boot/vmlinuz-linux'

Reply #5
Yes, I saw that in my searching also, but I have no /usr/local/bin/hexdump

Code: [Select]
% whereis hexdump
hexdump: /usr/bin/hexdump /usr/share/man/man1/hexdump.1.gz

I also read the Arch wiki and tried this:

Code: [Select]
mkdir /boot/EFI/grub
cp /boot/EFI/BOOT/BOOTX64.EFI /boot/EFI/grub/grubx64.efi
pacman -S linux

But still not getting any /boot/initramfs-linux.img  (or fallback image either), even after a manual mkinitcipio -p linux.

Tried downgrading to linux-5.13.8.artix1 and that didn't help, even though it was working before.

I have an nvme that's glued in or I would have already ripped it out and reinstalled. May have to do that anyway.



https://wiki.archlinux.org/title/GRUB#Default/fallback_boot_path

Re: ERROR: invalid kernel specified: `/boot/vmlinuz-linux'

Reply #6
But still not getting any /boot/initramfs-linux.img  (or fallback image either), even after a manual mkinitcipio -p linux.
That is normal under the circumstances, simply because the initcpio generation fails. Try adding set -x (not set +x like in that post, but set -x, a few posts later):
https://bbs.archlinux.org/viewtopic.php?pid=1884974#p1884975

Quote
I have an nvme that's glued in or I would have already ripped it out and reinstalled. May have to do that anyway.
nvme could create problems, as the support for SSDs in Linux is problematic and depends on the SSD model, but not at the point when you have a shell in which you can call pacman, so I don't think it is related to this issue.

Re: ERROR: invalid kernel specified: `/boot/vmlinuz-linux'

Reply #7
I appreciate your suggestion to try a web search, but believe me, I have a whole desktop full of tabs from my searching.

The order of the repos in /etc/pacman.conf is:
[system]
Include = /etc/pacman.d/mirrorlist
[world]
Include = /etc/pacman.d/mirrorlist
[galaxy]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist-arch
[community]
Include = /etc/pacman.d/mirrorlist-arch

Code: [Select]
# pacman -S linux linux-headers util-linux mkinitcpio
warning: linux-5.13.10.artix1-1 is up to date -- reinstalling
warning: util-linux-2.37.1-3 is up to date -- reinstalling
warning: mkinitcpio-30-2 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (5) pahole-1.21-1  linux-5.13.10.artix1-1  linux-headers-5.13.10.artix1-1  mkinitcpio-30-2  util-linux-2.37.1-3

Total Download Size:    23.64 MiB
Total Installed Size:  274.63 MiB
Net Upgrade Size:      131.43 MiB

:: Proceed with installation? [Y/n] Y
:: Retrieving packages...
 linux-headers-5.13.10.artix1-1-x86_64                                      23.6 MiB  3.29 MiB/s 00:07 [#############################################################] 100%
(5/5) checking keys in keyring                                                                         [#############################################################] 100%
(5/5) checking package integrity                                                                       [#############################################################] 100%
(5/5) loading package files                                                                            [#############################################################] 100%
(5/5) checking for file conflicts                                                                      [#############################################################] 100%
(5/5) checking available disk space                                                                    [#############################################################] 100%
:: Processing package changes...
(1/5) reinstalling util-linux                                                                          [#############################################################] 100%
(2/5) reinstalling mkinitcpio                                                                          [#############################################################] 100%
(3/5) reinstalling linux                                                                               [#############################################################] 100%
(4/5) installing pahole                                                                                [#############################################################] 100%
(5/5) installing linux-headers                                                                         [#############################################################] 100%
:: Running post-transaction hooks...
(1/5) Creating system user accounts...
(2/5) Creating temporary files...
(3/5) Reloading device manager configuration...
(4/5) Updating module dependencies...
(5/5) Updating linux initcpios...
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> ERROR: invalid kernel specified: `/boot/vmlinuz-linux'
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> ERROR: invalid kernel specified: `/boot/vmlinuz-linux'
error: command failed to execute correctly

I will admit I did not see the post about the guy missing vmlinuz-linux, however, I'm getting that file, but not initramfs-linux.img or initramfs-linux-fallback.img

Anyway, the post indicates you can look in /usr/lib/modules/ for these files.

Code: [Select]
/usr/lib/modules/5.13.10-artix1-1 # find . -name \*vmlinuz\*  
./vmlinuz
/usr/lib/modules/5.13.10-artix1-1 # diff vmlinuz /boot/vmlinuz-linux
/usr/lib/modules/5.13.10-artix1-1 #

No diff there, but:
Code: [Select]
/usr/lib/modules/5.13.10-artix1-1 # find . -name \*initramfs\*

finds nothing.




Re: ERROR: invalid kernel specified: `/boot/vmlinuz-linux'

Reply #9
Code: [Select]
# set -x mkinitcpio -p linux 
+grml_reset_screen_title:3:> [[ '' -gt 0 ]]                                                                                                                               
+grml_reset_screen_title:4:case> case rxvt-unicode-256color (xterm*|rxvt*|alacritty)
+grml_reset_screen_title:6:case> set_title 'root@vtk398: /home/artiong'
+set_title:1:> info_print $'\C-[]0;' $'\C-G' 'root@vtk398: /home/artiong'
+info_print:1:> local esc_begin esc_end
+info_print:2:> esc_begin=$'\C-[]0;'
+info_print:3:> esc_end=$'\C-G'
+info_print:4:> shift 2
+info_print:5:> printf %s $'\C-[]0;'

root@vtk398: /home/artiong+info_print:7:> printf %s $'\C-G'
+grml_vcs_to_screen_title:1:if> [[ rxvt-unicode-256color == screen* ]]
+prompt_grml_precmd:1:> emulate -L zsh
+prompt_grml_precmd:2:> local grmltheme=grml
+prompt_grml_precmd:3:> local -a left_items right_items
+prompt_grml_precmd:4:> left_items=( rc change-root user at host path vcs percent )
+prompt_grml_precmd:5:> right_items=( sad-smiley )
+prompt_grml_precmd:7:> prompt_grml_precmd_worker
+prompt_grml_precmd_worker:1:> emulate -L zsh
+prompt_grml_precmd_worker:2:> local -i vcscalled=0
+prompt_grml_precmd_worker:4:> grml_prompt_addto PS1 rc change-root user at host path vcs percent
+grml_prompt_addto:1:> emulate -L zsh
+grml_prompt_addto:2:> local target=PS1
+grml_prompt_addto:3:> local lr it apre apost new v REPLY
+grml_prompt_addto:4:> local -a items
+grml_prompt_addto:5:> shift
+grml_prompt_addto:7:> [[ PS1 == PS1 ]]
+grml_prompt_addto:7:cmdand> lr=left
+grml_prompt_addto:8:> zstyle -a :prompt:grml:left:setup items items
+grml_prompt_addto:8:cmdor> items=( rc change-root user at host path vcs percent )
+grml_prompt_addto:9:> typeset -g 'PS1='
+grml_prompt_addto:10:for> it=rc
+grml_prompt_addto:11:for> zstyle -s :prompt:grml:left:items:rc pre apre
+grml_prompt_addto:12:for cmdor> apre='%B%F{red}'
+grml_prompt_addto:13:for> zstyle -s :prompt:grml:left:items:rc post apost
+grml_prompt_addto:14:for cmdor> apost=%f%b
+grml_prompt_addto:15:for> zstyle -s :prompt:grml:left:items:rc token new
+grml_prompt_addto:16:for cmdor> new='%(?..%? )'
+grml_prompt_addto:17:for if> ((  0  ))
+grml_prompt_addto:21:for else case> case rc (battery)
+grml_prompt_addto:21:for else case> case rc (change-root)
+grml_prompt_addto:21:for else case> case rc (grml-chroot)
+grml_prompt_addto:21:for else case> case rc (vcs)
+grml_prompt_addto:21:for else case> case rc (*)
+grml_prompt_addto:47:for else case> REPLY='%(?..%? )'
+grml_prompt_addto:52:for if> [[ -o prompt_subst ]]
+grml_prompt_addto:57:for> typeset -g 'PS1=%B%F{red}%(?..%? )%f%b'
+grml_prompt_addto:10:for> it=change-root
+grml_prompt_addto:11:for> zstyle -s :prompt:grml:left:items:change-root pre apre
+grml_prompt_addto:12:for cmdor> apre=''
+grml_prompt_addto:13:for> zstyle -s :prompt:grml:left:items:change-root post apost
+grml_prompt_addto:14:for cmdor> apost=''
+grml_prompt_addto:15:for> zstyle -s :prompt:grml:left:items:change-root token new
+grml_prompt_addto:16:for cmdor> new=debian_chroot
+grml_prompt_addto:17:for if> ((  0  ))
+grml_prompt_addto:21:for else case> case change-root (battery)
+grml_prompt_addto:21:for else case> case change-root (change-root)
+grml_prompt_addto:26:for else case> grml_wrap_reply PS1 debian_chroot '(' ')'
+grml_wrap_reply:1:> emulate -L zsh
+grml_wrap_reply:2:> local target=PS1
+grml_wrap_reply:3:> local new=debian_chroot
+grml_wrap_reply:4:> local left='('
+grml_wrap_reply:5:> local right=')'
+grml_wrap_reply:7:if> ((  0  ))
+grml_wrap_reply:10:else> REPLY=''
+grml_prompt_addto:52:for if> [[ -o prompt_subst ]]
+grml_prompt_addto:57:for> typeset -g 'PS1=%B%F{red}%(?..%? )%f%b'
+grml_prompt_addto:10:for> it=user
+grml_prompt_addto:11:for> zstyle -s :prompt:grml:left:items:user pre apre
+grml_prompt_addto:13:for> zstyle -s :prompt:grml:left:items:user post apost
+grml_prompt_addto:14:for cmdor> apost=%f%b
+grml_prompt_addto:15:for> zstyle -s :prompt:grml:left:items:user token new
+grml_prompt_addto:16:for cmdor> new=%n
+grml_prompt_addto:17:for if> ((  0  ))
+grml_prompt_addto:21:for else case> case user (battery)
+grml_prompt_addto:21:for else case> case user (change-root)
+grml_prompt_addto:21:for else case> case user (grml-chroot)
+grml_prompt_addto:21:for else case> case user (vcs)
+grml_prompt_addto:21:for else case> case user (*)
+grml_prompt_addto:47:for else case> REPLY=%n
+grml_prompt_addto:52:for if> [[ -o prompt_subst ]]
+grml_prompt_addto:57:for> typeset -g 'PS1=%B%F{red}%(?..%? )%f%b%B%F{red}%n%f%b'
+grml_prompt_addto:10:for> it=at
+grml_prompt_addto:11:for> zstyle -s :prompt:grml:left:items:at pre apre
+grml_prompt_addto:12:for cmdor> apre=''
+grml_prompt_addto:13:for> zstyle -s :prompt:grml:left:items:at post apost
+grml_prompt_addto:14:for cmdor> apost=''
+grml_prompt_addto:15:for> zstyle -s :prompt:grml:left:items:at token new
+grml_prompt_addto:16:for cmdor> new=@
+grml_prompt_addto:17:for if> ((  0  ))
+grml_prompt_addto:21:for else case> case at (battery)
+grml_prompt_addto:21:for else case> case at (change-root)
+grml_prompt_addto:21:for else case> case at (grml-chroot)
+grml_prompt_addto:21:for else case> case at (vcs)
+grml_prompt_addto:21:for else case> case at (*)
+grml_prompt_addto:47:for else case> REPLY=@
+grml_prompt_addto:52:for if> [[ -o prompt_subst ]]
+grml_prompt_addto:57:for> typeset -g 'PS1=%B%F{red}%(?..%? )%f%b%B%F{red}%n%f%b@'
+grml_prompt_addto:10:for> it=host
+grml_prompt_addto:11:for> zstyle -s :prompt:grml:left:items:host pre apre
+grml_prompt_addto:12:for cmdor> apre=''
+grml_prompt_addto:13:for> zstyle -s :prompt:grml:left:items:host post apost
+grml_prompt_addto:14:for cmdor> apost=''
+grml_prompt_addto:15:for> zstyle -s :prompt:grml:left:items:host token new
+grml_prompt_addto:16:for cmdor> new='%m '
+grml_prompt_addto:17:for if> ((  0  ))
+grml_prompt_addto:21:for else case> case host (battery)
+grml_prompt_addto:21:for else case> case host (change-root)
+grml_prompt_addto:21:for else case> case host (grml-chroot)
+grml_prompt_addto:21:for else case> case host (vcs)
+grml_prompt_addto:21:for else case> case host (*)
+grml_prompt_addto:47:for else case> REPLY='%m '
+grml_prompt_addto:52:for if> [[ -o prompt_subst ]]
+grml_prompt_addto:57:for> typeset -g 'PS1=%B%F{red}%(?..%? )%f%b%B%F{red}%n%f%b@%m '
+grml_prompt_addto:10:for> it=path
+grml_prompt_addto:11:for> zstyle -s :prompt:grml:left:items:path pre apre
+grml_prompt_addto:12:for cmdor> apre=%B
+grml_prompt_addto:13:for> zstyle -s :prompt:grml:left:items:path post apost
+grml_prompt_addto:14:for cmdor> apost=%b
+grml_prompt_addto:15:for> zstyle -s :prompt:grml:left:items:path token new
+grml_prompt_addto:16:for cmdor> new='%40<..<%~%<< '
+grml_prompt_addto:17:for if> ((  0  ))
+grml_prompt_addto:21:for else case> case path (battery)
+grml_prompt_addto:21:for else case> case path (change-root)
+grml_prompt_addto:21:for else case> case path (grml-chroot)
+grml_prompt_addto:21:for else case> case path (vcs)
+grml_prompt_addto:21:for else case> case path (*)
+grml_prompt_addto:47:for else case> REPLY='%40<..<%~%<< '
+grml_prompt_addto:52:for if> [[ -o prompt_subst ]]
+grml_prompt_addto:57:for> typeset -g 'PS1=%B%F{red}%(?..%? )%f%b%B%F{red}%n%f%b@%m %B%40<..<%~%<< %b'
+grml_prompt_addto:10:for> it=vcs
+grml_prompt_addto:11:for> zstyle -s :prompt:grml:left:items:vcs pre apre
+grml_prompt_addto:12:for cmdor> apre=''
+grml_prompt_addto:13:for> zstyle -s :prompt:grml:left:items:vcs post apost
+grml_prompt_addto:14:for cmdor> apost=''
+grml_prompt_addto:15:for> zstyle -s :prompt:grml:left:items:vcs token new
+grml_prompt_addto:16:for cmdor> new=0
+grml_prompt_addto:17:for if> ((  0  ))
+grml_prompt_addto:21:for else case> case vcs (battery)
+grml_prompt_addto:21:for else case> case vcs (change-root)
+grml_prompt_addto:21:for else case> case vcs (grml-chroot)
+grml_prompt_addto:21:for else case> case vcs (vcs)
+grml_prompt_addto:36:for else case> v=vcs_info_msg_0_
+grml_prompt_addto:37:for else case if> ((  ! vcscalled  ))
+grml_prompt_addto:38:for else case then> vcs_info
+vcs_info:1:> emulate -L zsh
+vcs_info:2:> setopt extendedglob NO_warn_create_global
+vcs_info:4:> [[ -r . ]]
+vcs_info:6:> local pat
+vcs_info:7:> local -i found retval
+vcs_info:8:> local -a enabled disabled dps
+vcs_info:9:> local usercontext vcs rrn quiltmode
+vcs_info:10:> local -x LC_MESSAGES
+vcs_info:11:> local -i maxexports
+vcs_info:12:> local -a msgs
+vcs_info:19:> local -A vcs_comm hook_com backend_misc user_data
+vcs_info:21:> LC_MESSAGES=C
+vcs_info:22:if> [[ -n '' ]]
+vcs_info:27:> vcs=-init-
+vcs_info:27:> rrn=-all-
+vcs_info:27:> quiltmode=addon
+vcs_info:28:> usercontext=default
+vcs_info:30:> VCS_INFO_hook start-up
+VCS_INFO_hook:5:> local hook static func
+VCS_INFO_hook:6:> local context hook_name
+VCS_INFO_hook:7:> local -i ret
+VCS_INFO_hook:8:> local -a hooks tmp
+VCS_INFO_hook:9:> local -i debug
+VCS_INFO_hook:11:> ret=0
+VCS_INFO_hook:12:> hook_name=start-up
+VCS_INFO_hook:13:> shift
+VCS_INFO_hook:14:> context=:vcs_info:-init-+start-up:default:-all-
+VCS_INFO_hook:15:> static=:vcs_info-static_hooks:start-up
+VCS_INFO_hook:17:> zstyle -t :vcs_info:-init-+start-up:default:-all- debug
+VCS_INFO_hook:17:cmdand> debug=0
+VCS_INFO_hook:18:if> ((  debug  ))
+VCS_INFO_hook:24:> zstyle -a :vcs_info-static_hooks:start-up hooks hooks
+VCS_INFO_hook:25:if> ((  debug  ))
+VCS_INFO_hook:28:> zstyle -a :vcs_info:-init-+start-up:default:-all- hooks tmp
+VCS_INFO_hook:29:if> ((  debug  ))
+VCS_INFO_hook:32:> hooks+=( )
+VCS_INFO_hook:33:> ((  0 == 0  ))
+VCS_INFO_hook:33:cmdand> return 0
+vcs_info:31:> retval=0
+vcs_info:32:if> ((  retval == 1  ))
+vcs_info:34:elif> ((  retval == 2  ))
+vcs_info:42:> zstyle -a :vcs_info:-init-:default:-all- enable enabled
+vcs_info:43:> ((  0 == 0  ))
+vcs_info:43:cmdand> enabled=( all )
+vcs_info:45:if> [[ -n '' ]]
+vcs_info:50:if> [[ -n all ]]
+vcs_info:51:then> enabled=( bzr cdv cvs darcs fossil git hg mtn p4 svk svn tla )
+vcs_info:52:then> zstyle -a :vcs_info:-init-:default:-all- disable disabled
+vcs_info:55:> zstyle -a :vcs_info:-init-:default:-all- disable-patterns dps
+vcs_info:65:> VCS_INFO_maxexports
+VCS_INFO_maxexports:5:> setopt localoptions NO_shwordsplit unset
+VCS_INFO_maxexports:7:> zstyle -s :vcs_info:-init-:default:-all- max-exports maxexports
+VCS_INFO_maxexports:8:if> [[ 2 != <-> ]]
+VCS_INFO_maxexports:8:if cmdor> ((  maxexports < 1  ))
+VCS_INFO_maxexports:13:> return 0
+vcs_info:67:> ((  found = 0  ))
+vcs_info:68:for> vcs=bzr
+vcs_info:69:for> [[ -n '' ]]
+vcs_info:70:for if> ((  1 == 0  ))
+vcs_info:75:for> vcs_comm=( )
+vcs_info:76:for> VCS_INFO_get_cmd
+VCS_INFO_get_cmd:4:> local cmd
+VCS_INFO_get_cmd:5:> zstyle -s :vcs_info:bzr:default:-all- command cmd
+VCS_INFO_get_cmd:6:> vcs_comm[cmd]=bzr
+vcs_info:77:for> VCS_INFO_detect_bzr
+VCS_INFO_detect_bzr:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_detect_bzr:7:> [[ '' == --flavours ]]
+VCS_INFO_detect_bzr:9:> VCS_INFO_check_com bzr
+VCS_INFO_check_com:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_check_com:7:case> case bzr (/*)
+VCS_INFO_check_com:7:case> case bzr (*)
+VCS_INFO_check_com:12:case> ((  0  ))
+VCS_INFO_check_com:15:> return 1
+VCS_INFO_detect_bzr:9:cmdor> return 1
+vcs_info:68:for> vcs=cdv
+vcs_info:69:for> [[ -n '' ]]
+vcs_info:70:for if> ((  1 == 0  ))
+vcs_info:75:for> vcs_comm=( )
+vcs_info:76:for> VCS_INFO_get_cmd
+VCS_INFO_get_cmd:4:> local cmd
+VCS_INFO_get_cmd:5:> zstyle -s :vcs_info:cdv:default:-all- command cmd
+VCS_INFO_get_cmd:6:> vcs_comm[cmd]=cdv
+vcs_info:77:for> VCS_INFO_detect_cdv
+VCS_INFO_detect_cdv:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_detect_cdv:7:> [[ '' == --flavours ]]
+VCS_INFO_detect_cdv:9:> VCS_INFO_check_com cdv
+VCS_INFO_check_com:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_check_com:7:case> case cdv (/*)
+VCS_INFO_check_com:7:case> case cdv (*)
+VCS_INFO_check_com:12:case> ((  0  ))
+VCS_INFO_check_com:15:> return 1
+VCS_INFO_detect_cdv:9:cmdor> return 1
+vcs_info:68:for> vcs=cvs
+vcs_info:69:for> [[ -n '' ]]
+vcs_info:70:for if> ((  1 == 0  ))
+vcs_info:75:for> vcs_comm=( )
+vcs_info:76:for> VCS_INFO_get_cmd
+VCS_INFO_get_cmd:4:> local cmd
+VCS_INFO_get_cmd:5:> zstyle -s :vcs_info:cvs:default:-all- command cmd
+VCS_INFO_get_cmd:6:> vcs_comm[cmd]=cvs
+vcs_info:77:for> VCS_INFO_detect_cvs
+VCS_INFO_detect_cvs:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_detect_cvs:7:> [[ '' == --flavours ]]
+VCS_INFO_detect_cvs:9:> VCS_INFO_check_com cvs
+VCS_INFO_check_com:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_check_com:7:case> case cvs (/*)
+VCS_INFO_check_com:7:case> case cvs (*)
+VCS_INFO_check_com:12:case> ((  0  ))
+VCS_INFO_check_com:15:> return 1
+VCS_INFO_detect_cvs:9:cmdor> return 1
+vcs_info:68:for> vcs=darcs
+vcs_info:69:for> [[ -n '' ]]
+vcs_info:70:for if> ((  1 == 0  ))
+vcs_info:75:for> vcs_comm=( )
+vcs_info:76:for> VCS_INFO_get_cmd
+VCS_INFO_get_cmd:4:> local cmd
+VCS_INFO_get_cmd:5:> zstyle -s :vcs_info:darcs:default:-all- command cmd
+VCS_INFO_get_cmd:6:> vcs_comm[cmd]=darcs
+vcs_info:77:for> VCS_INFO_detect_darcs
+VCS_INFO_detect_darcs:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_detect_darcs:7:> [[ '' == --flavours ]]
+VCS_INFO_detect_darcs:9:> VCS_INFO_check_com darcs
+VCS_INFO_check_com:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_check_com:7:case> case darcs (/*)
+VCS_INFO_check_com:7:case> case darcs (*)
+VCS_INFO_check_com:12:case> ((  0  ))
+VCS_INFO_check_com:15:> return 1
+VCS_INFO_detect_darcs:9:cmdor> return 1
+vcs_info:68:for> vcs=fossil
+vcs_info:69:for> [[ -n '' ]]
+vcs_info:70:for if> ((  1 == 0  ))
+vcs_info:75:for> vcs_comm=( )
+vcs_info:76:for> VCS_INFO_get_cmd
+VCS_INFO_get_cmd:4:> local cmd
+VCS_INFO_get_cmd:5:> zstyle -s :vcs_info:fossil:default:-all- command cmd
+VCS_INFO_get_cmd:6:> vcs_comm[cmd]=fossil
+vcs_info:77:for> VCS_INFO_detect_fossil
+VCS_INFO_detect_fossil:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_detect_fossil:7:> [[ '' == --flavours ]]
+VCS_INFO_detect_fossil:9:> VCS_INFO_check_com fossil
+VCS_INFO_check_com:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_check_com:7:case> case fossil (/*)
+VCS_INFO_check_com:7:case> case fossil (*)
+VCS_INFO_check_com:12:case> ((  0  ))
+VCS_INFO_check_com:15:> return 1
+VCS_INFO_detect_fossil:9:cmdor> return 1
+vcs_info:68:for> vcs=git
+vcs_info:69:for> [[ -n '' ]]
+vcs_info:70:for if> ((  1 == 0  ))
+vcs_info:75:for> vcs_comm=( )
+vcs_info:76:for> VCS_INFO_get_cmd
+VCS_INFO_get_cmd:4:> local cmd
+VCS_INFO_get_cmd:5:> zstyle -s :vcs_info:git:default:-all- command cmd
+VCS_INFO_get_cmd:6:> vcs_comm[cmd]=git
+vcs_info:77:for> VCS_INFO_detect_git
+VCS_INFO_detect_git:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_detect_git:7:> [[ '' == --flavours ]]
+VCS_INFO_detect_git:9:if> VCS_INFO_check_com git
+VCS_INFO_check_com:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_check_com:7:case> case git (/*)
+VCS_INFO_check_com:7:case> case git (*)
+VCS_INFO_check_com:12:case> ((  1  ))
+VCS_INFO_check_com:12:case cmdand> return 0
+VCS_INFO_detect_git:9:if cmdand> vcs_comm[gitdir]=+VCS_INFO_detect_git:9:if cmdand cmdsubst> git rev-parse --git-dir
+VCS_INFO_detect_git:9:if cmdand> vcs_comm[gitdir]=''
+VCS_INFO_detect_git:14:> return 1
+vcs_info:68:for> vcs=hg
+vcs_info:69:for> [[ -n '' ]]
+vcs_info:70:for if> ((  1 == 0  ))
+vcs_info:75:for> vcs_comm=( )
+vcs_info:76:for> VCS_INFO_get_cmd
+VCS_INFO_get_cmd:4:> local cmd
+VCS_INFO_get_cmd:5:> zstyle -s :vcs_info:hg:default:-all- command cmd
+VCS_INFO_get_cmd:6:> vcs_comm[cmd]=hg
+vcs_info:77:for> VCS_INFO_detect_hg
+VCS_INFO_detect_hg:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_detect_hg:7:> [[ '' == --flavours ]]
+VCS_INFO_detect_hg:9:> VCS_INFO_check_com hg
+VCS_INFO_check_com:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_check_com:7:case> case hg (/*)
+VCS_INFO_check_com:7:case> case hg (*)
+VCS_INFO_check_com:12:case> ((  0  ))
+VCS_INFO_check_com:15:> return 1
+VCS_INFO_detect_hg:9:cmdor> return 1
+vcs_info:68:for> vcs=mtn
+vcs_info:69:for> [[ -n '' ]]
+vcs_info:70:for if> ((  1 == 0  ))
+vcs_info:75:for> vcs_comm=( )
+vcs_info:76:for> VCS_INFO_get_cmd
+VCS_INFO_get_cmd:4:> local cmd
+VCS_INFO_get_cmd:5:> zstyle -s :vcs_info:mtn:default:-all- command cmd
+VCS_INFO_get_cmd:6:> vcs_comm[cmd]=mtn
+vcs_info:77:for> VCS_INFO_detect_mtn
+VCS_INFO_detect_mtn:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_detect_mtn:7:> [[ '' == --flavours ]]
+VCS_INFO_detect_mtn:9:> VCS_INFO_check_com mtn
+VCS_INFO_check_com:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_check_com:7:case> case mtn (/*)
+VCS_INFO_check_com:7:case> case mtn (*)
+VCS_INFO_check_com:12:case> ((  0  ))
+VCS_INFO_check_com:15:> return 1
+VCS_INFO_detect_mtn:9:cmdor> return 1
+vcs_info:68:for> vcs=p4
+vcs_info:69:for> [[ -n '' ]]
+vcs_info:70:for if> ((  1 == 0  ))
+vcs_info:75:for> vcs_comm=( )
+vcs_info:76:for> VCS_INFO_get_cmd
+VCS_INFO_get_cmd:4:> local cmd
+VCS_INFO_get_cmd:5:> zstyle -s :vcs_info:p4:default:-all- command cmd
+VCS_INFO_get_cmd:6:> vcs_comm[cmd]=p4
+vcs_info:77:for> VCS_INFO_detect_p4
+VCS_INFO_detect_p4:1:> local serverport p4where
+VCS_INFO_detect_p4:3:if> zstyle -t :vcs_info:p4:default:-all- use-server
+VCS_INFO_detect_p4:23:else> [[ -n '' ]]
+VCS_INFO_detect_p4:23:else cmdor> return 1
+vcs_info:68:for> vcs=svk
+vcs_info:69:for> [[ -n '' ]]
+vcs_info:70:for if> ((  1 == 0  ))
+vcs_info:75:for> vcs_comm=( )
+vcs_info:76:for> VCS_INFO_get_cmd
+VCS_INFO_get_cmd:4:> local cmd
+VCS_INFO_get_cmd:5:> zstyle -s :vcs_info:svk:default:-all- command cmd
+VCS_INFO_get_cmd:6:> vcs_comm[cmd]=svk
+vcs_info:77:for> VCS_INFO_detect_svk
+VCS_INFO_detect_svk:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_detect_svk:7:> [[ '' == --flavours ]]
+VCS_INFO_detect_svk:16:> setopt localoptions noksharrays extendedglob
+VCS_INFO_detect_svk:17:> local -i fhash
+VCS_INFO_detect_svk:18:> fhash=0
+VCS_INFO_detect_svk:20:> VCS_INFO_check_com svk
+VCS_INFO_check_com:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_check_com:7:case> case svk (/*)
+VCS_INFO_check_com:7:case> case svk (*)
+VCS_INFO_check_com:12:case> ((  0  ))
+VCS_INFO_check_com:15:> return 1
+VCS_INFO_detect_svk:20:cmdor> return 1
+vcs_info:68:for> vcs=svn
+vcs_info:69:for> [[ -n '' ]]
+vcs_info:70:for if> ((  1 == 0  ))
+vcs_info:75:for> vcs_comm=( )
+vcs_info:76:for> VCS_INFO_get_cmd
+VCS_INFO_get_cmd:4:> local cmd
+VCS_INFO_get_cmd:5:> zstyle -s :vcs_info:svn:default:-all- command cmd
+VCS_INFO_get_cmd:6:> vcs_comm[cmd]=svn
+vcs_info:77:for> VCS_INFO_detect_svn
+VCS_INFO_detect_svn:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_detect_svn:7:> [[ '' == --flavours ]]
+VCS_INFO_detect_svn:9:> VCS_INFO_check_com svn
+VCS_INFO_check_com:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_check_com:7:case> case svn (/*)
+VCS_INFO_check_com:7:case> case svn (*)
+VCS_INFO_check_com:12:case> ((  0  ))
+VCS_INFO_check_com:15:> return 1
+VCS_INFO_detect_svn:9:cmdor> return 1
+vcs_info:68:for> vcs=tla
+vcs_info:69:for> [[ -n '' ]]
+vcs_info:70:for if> ((  1 == 0  ))
+vcs_info:75:for> vcs_comm=( )
+vcs_info:76:for> VCS_INFO_get_cmd
+VCS_INFO_get_cmd:4:> local cmd
+VCS_INFO_get_cmd:5:> zstyle -s :vcs_info:tla:default:-all- command cmd
+VCS_INFO_get_cmd:6:> vcs_comm[cmd]=tla
+vcs_info:77:for> VCS_INFO_detect_tla
+VCS_INFO_detect_tla:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_detect_tla:7:> [[ '' == --flavours ]]
+VCS_INFO_detect_tla:9:> VCS_INFO_check_com tla
+VCS_INFO_check_com:5:> setopt localoptions NO_shwordsplit
+VCS_INFO_check_com:7:case> case tla (/*)
+VCS_INFO_check_com:7:case> case tla (*)
+VCS_INFO_check_com:12:case> ((  0  ))
+VCS_INFO_check_com:15:> return 1
+VCS_INFO_detect_tla:9:cmdor> return 1
+vcs_info:80:> ((  found == 0  ))
+vcs_info:81:cmdand cursh> vcs=-quilt-
+vcs_info:81:cmdand cursh> quiltmode=standalone
+vcs_info:82:cmdand cursh> VCS_INFO_quilt standalone
+VCS_INFO_quilt:3:> ((  1  ))
+VCS_INFO_quilt:24:> ((  1  ))
+VCS_INFO_quilt:63:> ((  1  ))
+VCS_INFO_quilt:86:> ((  1  ))
+VCS_INFO_quilt:92:cursh> emulate -L zsh
+VCS_INFO_quilt:93:cursh> setopt extendedglob
+VCS_INFO_quilt:94:cursh> local mode=standalone
+VCS_INFO_quilt:95:cursh> local patches pc tmp qstring root
+VCS_INFO_quilt:96:cursh> local -i ret
+VCS_INFO_quilt:97:cursh> local context
+VCS_INFO_quilt:98:cursh> local -a applied unapplied applied_string unapplied_string quiltcommand quilt_env
+VCS_INFO_quilt:99:cursh> local -A hook_com
+VCS_INFO_quilt:101:cursh> context=:vcs_info:-quilt-.quilt-standalone:default:-all-
+VCS_INFO_quilt:102:cursh> zstyle -t :vcs_info:-quilt-.quilt-standalone:default:-all- use-quilt
+VCS_INFO_quilt:102:cursh cmdor> return 1
+vcs_info:82:cmdand cursh cmdor> VCS_INFO_set --nvcs
+VCS_INFO_set:7:> setopt localoptions noksharrays NO_shwordsplit unset
+VCS_INFO_set:8:> local -i i j
+VCS_INFO_set:10:if> [[ --nvcs == --nvcs ]]
+VCS_INFO_set:11:then> [[ '' == -preinit- ]]
+VCS_INFO_set:12:then for> i=0
+VCS_INFO_set:13:then for> typeset -g 'vcs_info_msg_0_='
+VCS_INFO_set:12:then for> i=1
+VCS_INFO_set:13:then for> typeset -g 'vcs_info_msg_1_='
+VCS_INFO_set:15:then> VCS_INFO_nvcsformats
+VCS_INFO_nvcsformats:5:> setopt localoptions noksharrays NO_shwordsplit
+VCS_INFO_nvcsformats:6:> local c v rr
+VCS_INFO_nvcsformats:8:if> [[ '' == -preinit- ]]
+VCS_INFO_nvcsformats:13:> zstyle -a :vcs_info:-quilt-:default:-all- nvcsformats msgs
+VCS_INFO_nvcsformats:14:> ((  0 > maxexports  ))
+VCS_INFO_nvcsformats:15:> return 0
+VCS_INFO_set:16:then> [[ '' != -preinit- ]]
+VCS_INFO_set:16:then cmdand> VCS_INFO_hook no-vcs
+VCS_INFO_hook:5:> local hook static func
+VCS_INFO_hook:6:> local context hook_name
+VCS_INFO_hook:7:> local -i ret
+VCS_INFO_hook:8:> local -a hooks tmp
+VCS_INFO_hook:9:> local -i debug
+VCS_INFO_hook:11:> ret=0
+VCS_INFO_hook:12:> hook_name=no-vcs
+VCS_INFO_hook:13:> shift
+VCS_INFO_hook:14:> context=:vcs_info:-quilt-+no-vcs:default:-all-
+VCS_INFO_hook:15:> static=:vcs_info-static_hooks:no-vcs
+VCS_INFO_hook:17:> zstyle -t :vcs_info:-quilt-+no-vcs:default:-all- debug
+VCS_INFO_hook:17:cmdand> debug=0
+VCS_INFO_hook:18:if> ((  debug  ))
+VCS_INFO_hook:24:> zstyle -a :vcs_info-static_hooks:no-vcs hooks hooks
+VCS_INFO_hook:25:if> ((  debug  ))
+VCS_INFO_hook:28:> zstyle -a :vcs_info:-quilt-+no-vcs:default:-all- hooks tmp
+VCS_INFO_hook:29:if> ((  debug  ))
+VCS_INFO_hook:32:> hooks+=( )
+VCS_INFO_hook:33:> ((  0 == 0  ))
+VCS_INFO_hook:33:cmdand> return 0
+VCS_INFO_set:19:> ((  0 - 1 < 0  ))
+VCS_INFO_set:19:cmdand> return 0
+vcs_info:83:cmdand cursh> return 0
+grml_prompt_addto:39:for else case then> vcscalled=1
+grml_prompt_addto:41:for else case if> ((  1  ))
+grml_prompt_addto:41:for else case if cmdand> [[ -n '' ]]
+grml_prompt_addto:44:for else case else> REPLY=''
+grml_prompt_addto:52:for if> [[ -o prompt_subst ]]
+grml_prompt_addto:57:for> typeset -g 'PS1=%B%F{red}%(?..%? )%f%b%B%F{red}%n%f%b@%m %B%40<..<%~%<< %b'
+grml_prompt_addto:10:for> it=percent
+grml_prompt_addto:11:for> zstyle -s :prompt:grml:left:items:percent pre apre
+grml_prompt_addto:12:for cmdor> apre=''
+grml_prompt_addto:13:for> zstyle -s :prompt:grml:left:items:percent post apost
+grml_prompt_addto:14:for cmdor> apost=''
+grml_prompt_addto:15:for> zstyle -s :prompt:grml:left:items:percent token new
+grml_prompt_addto:16:for cmdor> new='%# '
+grml_prompt_addto:17:for if> ((  0  ))
+grml_prompt_addto:21:for else case> case percent (battery)
+grml_prompt_addto:21:for else case> case percent (change-root)
+grml_prompt_addto:21:for else case> case percent (grml-chroot)
+grml_prompt_addto:21:for else case> case percent (vcs)
+grml_prompt_addto:21:for else case> case percent (*)
+grml_prompt_addto:47:for else case> REPLY='%# '
+grml_prompt_addto:52:for if> [[ -o prompt_subst ]]
+grml_prompt_addto:57:for> typeset -g 'PS1=%B%F{red}%(?..%? )%f%b%B%F{red}%n%f%b@%m %B%40<..<%~%<< %b%# '
+grml_prompt_addto:64:if> [[ -o prompt_subst ]]
+prompt_grml_precmd_worker:5:if> zstyle -T :prompt:grml:right:setup use-rprompt
+prompt_grml_precmd_worker:6:then> grml_prompt_addto RPS1 sad-smiley
+grml_prompt_addto:1:> emulate -L zsh
+grml_prompt_addto:2:> local target=RPS1
+grml_prompt_addto:3:> local lr it apre apost new v REPLY
+grml_prompt_addto:4:> local -a items
+grml_prompt_addto:5:> shift
+grml_prompt_addto:7:> [[ RPS1 == PS1 ]]
+grml_prompt_addto:7:cmdand> lr=right
+grml_prompt_addto:8:> zstyle -a :prompt:grml:right:setup items items
+grml_prompt_addto:8:cmdor> items=( sad-smiley )
+grml_prompt_addto:9:> typeset -g 'RPS1='
+grml_prompt_addto:10:for> it=sad-smiley
+grml_prompt_addto:11:for> zstyle -s :prompt:grml:right:items:sad-smiley pre apre
+grml_prompt_addto:12:for cmdor> apre=''
+grml_prompt_addto:13:for> zstyle -s :prompt:grml:right:items:sad-smiley post apost
+grml_prompt_addto:14:for cmdor> apost=''
+grml_prompt_addto:15:for> zstyle -s :prompt:grml:right:items:sad-smiley token new
+grml_prompt_addto:16:for cmdor> new='%(?..:()'
+grml_prompt_addto:17:for if> ((  0  ))
+grml_prompt_addto:21:for else case> case sad-smiley (battery)
+grml_prompt_addto:21:for else case> case sad-smiley (change-root)
+grml_prompt_addto:21:for else case> case sad-smiley (grml-chroot)
+grml_prompt_addto:21:for else case> case sad-smiley (vcs)
+grml_prompt_addto:21:for else case> case sad-smiley (*)
+grml_prompt_addto:47:for else case> REPLY='%(?..:()'
+grml_prompt_addto:52:for if> [[ -o prompt_subst ]]
+grml_prompt_addto:57:for> typeset -g 'RPS1=%(?..:()'
+grml_prompt_addto:64:if> [[ -o prompt_subst ]]


I use zsh and I have grml-zsh-config installed. When I saw all of the above output I wondered if I have some problem with my zsh configuration. So I changed to bash and repeated:

Code: [Select]
# set -x mkinitcpio -p linux 
+ set -x mkinitcpio -p linux
++ printf '\033]0;%s@%s:%s\007' artiong vtk398 '~'

Re: ERROR: invalid kernel specified: `/boot/vmlinuz-linux'

Reply #10
Everything you should have typed is in the linked post, but if you really can't (or won't) read it I'll retype it here:

Code: [Select]
$ /usr/bin/bash --norc
$ su
# source /usr/lib/initcpio/functions
# type kver
# set -x
# kver /boot/vmlinuz-linux

Unrelated, but while some Youtubers (Luke Smith? Mental Outlaw?) praise non-bash shells, bash is still the standard and should be left as a default shell.

Re: ERROR: invalid kernel specified: `/boot/vmlinuz-linux'

Reply #11
I think I needed to issue /usr/bin/bash --norc after su to root, too.

Code: [Select]
$ /usr/bin/bash --norc
bash-5.1$ su
# /usr/bin/bash --norc
bash-5.1# source /usr/lib/initcpio/functions
bash: /usr/lib/initcpio/functions: line 817: syntax error near unexpected token `('
bash: /usr/lib/initcpio/functions: line 817: `    rm "$moduledest"/modules.!(*.bin|devname|softdep)'
bash-5.1# type kver
kver is a function
kver ()
{
    local kver re='^[[:digit:]]+(\.[[:digit:]]+)+';
    local offset=$(hexdump -s 526 -n 2 -e '"%0d"' "$1");
    [[ $offset = +([0-9]) ]] || return 1;
    read kver _ < <(dd if="$1" bs=1 count=127 skip=$(( offset + 0x200 )) 2>/dev/null);
    [[ $kver =~ $re ]] || return 1;
    printf '%s' "$kver"
}
bash-5.1# set -x
bash-5.1# kver /boot/vmlinuz-linux
+ kver /boot/vmlinuz-linux
+ local kver 're=^[[:digit:]]+(\.[[:digit:]]+)+'
++ hexdump -s 526 -n 2 -e '"%0d"' /boot/vmlinuz-linux
+ local offset=14464
+ [[ 14464 = +([0-9]) ]]
+ read kver _
++ dd if=/boot/vmlinuz-linux bs=1 count=127 skip=14976
+ [[ You =~ ^[[:digit:]]+(\.[[:digit:]]+)+ ]]
+ return 1

Re: ERROR: invalid kernel specified: `/boot/vmlinuz-linux'

Reply #12
I think I needed to issue /usr/bin/bash --norc after su to root, too.
Correct. If the permissions are set up correctly, there is no need to su anyway.

Quote
Code: [Select]
+ [[ You =~ ^[[:digit:]]+(\.[[:digit:]]+)+ ]]
+ return 1
This line means that the kernel in /boot/vmlinuz-linux is possibly corrupted. Instead of returning version string, it returns "You". Try
Code: [Select]
$ dd  if=/boot/vmlinuz-linux bs=1 count=127 skip=$(( 14464 + 0x200 ))
On my system, this returns:
Code: [Select]
5.13.8-artix1-1 (linux@artixlinux) #1 SMP PREEMPT Wed, 04 Aug 2021 21:23:16 +0000b//j/�/r/z/�/;127+0 records in
127+0 records out
127 bytes copied, 0.000416688 s, 305 kB/s

Re: ERROR: invalid kernel specified: `/boot/vmlinuz-linux'

Reply #13
Code: [Select]
bash-5.1$ dd  if=/boot/vmlinuz-linux bs=1 count=127 skip=$(( 14464 + 0x200 ))
5.13.10-artix1-1 (linux@artixlinux) #1 SMP PREEMPT Fri, 13 Aug 2021 06:13:17 +0000b//j/Á/r/z//;127+0 records in
127+0 records out
127 bytes copied, 0.000837314 s, 152 kB/s

Re: ERROR: invalid kernel specified: `/boot/vmlinuz-linux'

Reply #14
Ok, this means the kernel image is ok, but the construct
Code: [Select]
read kver _ < <(dd if=/boot/vmlinuz-linux bs=1 count=127 skip=$(( 14464 + 0x200 )) 2>/dev/null)
fails. Can you check the output of this?

Code: [Select]
$ read kver _ < <(dd if=/boot/vmlinuz-linux bs=1 count=127 skip=$(( 14464 + 0x200 )) 2>/dev/null)
$ echo $kver
Note the spaces: strings "kver" "_" "<" "<(..." are separate.