You are not logged in.
Hi,
I'm having trouble booting a newly installed Archlinux on a USB key on an old HP Compaq computer.
I am getting EXT4 errors in the regular initramfs, but they blink really fast on the screen so I can't read them properly.
It boots fine with the fallback initramfs, and dmesg shows that there are no problems while mounting.
The system boots without any problem on both initramfs with QEMU on my Windows.
My mkinitcpio.conf :
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES="piix ide_disk reiserfs"
MODULES=""
# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=""
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way. This is useful for config files.
FILES=""
# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
## This setup specifies all modules in the MODULES setting above.
## No raid, lvm2, or encrypted root is needed.
# HOOKS="base"
#
## This setup will autodetect all modules for your system and should
## work as a sane default
# HOOKS="base udev autodetect block filesystems"
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
# HOOKS="base udev block filesystems"
#
## This setup assembles a pata mdadm array with an encrypted root FS.
## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
# HOOKS="base udev block mdadm encrypt filesystems"
#
## This setup loads an lvm2 volume group on a usb device.
# HOOKS="base udev block lvm2 filesystems"
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr, fsck and shutdown hooks.
HOOKS="base udev autodetect modconf block filesystems fsck keyboard"
# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"
# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=""
I'm really puzzled about this, since I initially thought that the HP Compaq simply had problems with my USB key, but since it boots fine with the fallback initramfs, I think that it is the initramfs' fault, but it is the default one, so I currently have no clues about this.
I've also checked the USB key multiple times with fsck, and that doesn't seem to be the cause of the problem.
Offline
You almost answered this yourself.
The regular initramfs only contains filesystem modules and driver modules required to mount the root partition.
Maybe your USB is formatted with an FS that is not used as the FS on your root partition?
Another explanation would be that your USB modules are not kept inside the initramfs?
fs/super.c : "Self-destruct in 5 seconds. Have a nice day...\n",
Offline
The thing is, the block module and the filesystem module are both loaded in my regular initramfs, and the presence of ext4 errors while mounting my USB key (it uses ext4) signifies that the system is actually using the right tool to do what it's supposed to.
The system has been installed via VirtualBox so the autodetect module may have messed things up. Going to recreate an initramfs image without it.
EDIT : It worked, sorry for bothering you guys, I could've found it sooner.
Anyway, as a note for others, if you plan on installing on a USB key to use it on other computers, remove the autodetect module from the initramfs, otherwise the required modules won't always be there.
Last edited by FreeSalad (2014-03-10 15:56:22)
Offline
FWIW, the main purpose of the fallback image is in case of hardware change. It's not really surprising that you had problems trying to boot from the default image.
Edit: The fallback image is built without using the autodetect hook. By default that's the only difference from the default image. So if you remove the autodetect hook from HOOKS, your default and fallback images will be identical.
Last edited by alphaniner (2014-03-10 16:07:00)
But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner
Offline
FWIW, the main purpose of the fallback image is in case of hardware change. It's not really surprising that you had problems trying to boot from the default image.
Edit: The fallback image is built without using the autodetect hook. By default that's the only difference from the default image. So if you remove the autodetect hook from HOOKS, your default and fallback images will be identical.
+1
You better figure out what exact module is the difference between succes and failure. And from there, but a small buildscript in /etc/initcpio/ .
fs/super.c : "Self-destruct in 5 seconds. Have a nice day...\n",
Offline
FWIW, the main purpose of the fallback image is in case of hardware change. It's not really surprising that you had problems trying to boot from the default image.
Edit: The fallback image is built without using the autodetect hook. By default that's the only difference from the default image. So if you remove the autodetect hook from HOOKS, your default and fallback images will be identical.
So if I don't actually care about my boot time or the image's size, can I just leave it as it is right now ? Or is it deprecated and I should create an initramfs for that configuration ? I plan to use this Archlinux on multiple hosts too.
Offline
You can leave it as is, no problems there. If it were to cause issue's, then those are bugs.
fs/super.c : "Self-destruct in 5 seconds. Have a nice day...\n",
Offline
There's nothing wrong with not using autodetect; it's just pointless to generate a fallback image if you don't use it. In your case, I would remove autodetect from HOOKS and modify the preset file so a fallback image isn't created.
But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner
Offline