You are not logged in.
Pages: 1
Topic closed
Hello everyone,
Recently I started on my own interpretation of a bootable ArchLinux installation of one of my unused USB-Sticks.
I decided to try out F2FS as a filesystem, because I've read in many places that it is the best FS for flash-drives.
My stick has 3 partitions,
/dev/sdb1 8 GiB fat32 (as cross-platform file storage)
/dev/sdb2 265 MiB ext4 with disabled journal as boot partition
/dev/sdb3 ~6GiB f2fs root filesystem
I did follow this Guide,
with three exceptions:
1. FAT32 partition first because some older Windows systems won't recognize any other partition except the first one.
2. Linux root partition is F2FS instead of ext4
3. disabled journal on /boot (/dev/sdb2)
Now the problem:
I install grub, use "grub-mkconfig -o /boot/grub/grub.cfg" everything works without errors, but the /boot/grub/grub.cfg stays completely empty. Not a single entry. When I boot the stick it stops at grub command line.
Why is that? And how do I generate a working grub.cfg?
Thanks in advance!
Edit: I did think of switching to btrfs, since its zlib compression could save quite some read/write cycles too, and it should allow me to remove the /boot partition, right?
Last edited by GosuSan (2016-02-24 15:49:47)
Offline
You might want to put GRUB in the title since that's where your problem is. I have a similar setup using f2fs, but don't use GRUB, so I can't be of any help here.
Offline
... I have a similar setup using f2fs, but don't use GRUB, so I can't be of any help here.
What bootloader are you using? syslinux?
Offline
Syslinux for BIOS, systemd-boot for UEFI (32 and 64 bit).
Offline
Did you install f2fs-tools and modprobe f2fs?
Also, I think you're about to get a smacked bum for referencing an unofficial guide. You want the official one.
Offline
I did read the official guide, it is pretty much the same, the other one is just much easier to follow.
I tried again and this time the install was successful and a grub.cfg was generated:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if loadfont unicode ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=en_US
insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-/dev/sdb3' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd1,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 ea763a5f-5048-4e21-a6cb-ff8ae147bf01
else
search --no-floppy --fs-uuid --set=root ea763a5f-5048-4e21-a6cb-ff8ae147bf01
fi
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=/dev/sdb3 rw quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-/dev/sdb3' {
menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-/dev/sdb3' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd1,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 ea763a5f-5048-4e21-a6cb-ff8ae147bf01
else
search --no-floppy --fs-uuid --set=root ea763a5f-5048-4e21-a6cb-ff8ae147bf01
fi
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=/dev/sdb3 rw quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux.img
}
menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-/dev/sdb3' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd1,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 ea763a5f-5048-4e21-a6cb-ff8ae147bf01
else
search --no-floppy --fs-uuid --set=root ea763a5f-5048-4e21-a6cb-ff8ae147bf01
fi
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=/dev/sdb3 rw quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux-fallback.img
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
### BEGIN /etc/grub.d/60_memtest86+ ###
### END /etc/grub.d/60_memtest86+ ###
However, it uses the device path (/dev/sdb3) instead of the UUIDs, this results in this error on boot time:
ERROR: Unable to find root device '/dev/sda3'.
You are being dropped to a recovery shell
Type 'exit' to try and continue booting
sh: can't access tty; job control turned off
[rootfs /]#
It should use the UUIDs for this part, why does it use the device path?
/etc/fstab
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sdb3 LABEL=archusb-root
UUID=f3db18e9-4143-4e04-8008-853a52210de0 / f2fs rw,relatime,background_gc=on,inline_data,extent_cache,active_logs=6 0 0
# /dev/sdb2 LABEL=archusb-boot
UUID=ea763a5f-5048-4e21-a6cb-ff8ae147bf01 /boot ext4 rw,relatime 0 2
Can anyone tell me what went wrong? I did find this solution, but it is already part of the guide, and I did this already.
Any idea why Arch is using /dev/sdb3 instead of the UUID?
Thanks in advance
Last edited by GosuSan (2016-02-27 20:35:21)
Offline
You can switch the root=/dev/sdbX with the root=/dev/disk/by-uuid/UUID entries in GRUB manually by editing the /boot/grub/grub.cfg yourself.
I have no idea why it's using /dev/sdbX though.
Claire is fine.
Problems? I have dysgraphia, so clear and concise please.
My public GPG key for package signing
My x86_64 package repository
Offline
After trying several times I finally gave up and just used ext4 without journals for both partitions.
Everything works great without any problem now and that should be good enough.
Don't know where the issue is/was but I can't be bothered any more now
Thanks for all your Ideas and help anyway!
Offline
The aur package grub-f2fs does work.
Offline
Did you install f2fs-tools and modprobe f2fs?
Also, I think you're about to get a smacked bum for referencing an unofficial guide. You want the official one.
yea kernel need modprobe
Offline
I am going to close this old thread. Puzzle, try to be aware of the age of threads when posting.
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way
Online
Pages: 1
Topic closed