illiliti / tinyramfs

Tiny initramfs written in POSIX shell
GNU General Public License v3.0
103 stars 19 forks source link

Cant stat '/lib//usr/lib/libc.so' #4

Closed Vixeliz closed 4 years ago

Vixeliz commented 4 years ago

Hello! This is my first time messing around with the initramfs on my personal machine. When running it with lvm and luks enabled I get that error. I also get the following two errors.

cp: can't create '/tmp/initramfs.31940/lib/modules/5.4.33-gnu/modules.builtin': Path does not exist

And

cp: can't create '/tmp/initramfs.31940/lib/modules/5.4.33-gnu/modules.dep': Path does not exist

EDIT: Last two errors were my mistake due to a monolithic kernel.

illiliti commented 4 years ago

Hmm, strange. Can you enable debug mode (--debug) and post output here?

Vixeliz commented 4 years ago

Here is the error link: https://termbin.com/hpg1

Or plain text:

Vixeliz commented 4 years ago

I just noticed it still created an initramfs despite that error. I will attempt booting with it.

After doing that I get another error from the init file saying line 67 ln: not found then ends in kernel panic.

illiliti commented 4 years ago

Fixed

Vixeliz commented 4 years ago

Kk testing right now

Vixeliz commented 4 years ago

Closer however now I recieve an error saying panic >> failed to lookup parition after typing in my passphrase it hangs for roughly 10 seconds before this. Then states sh: cant access tty; job control turned off. FYI I do have a second grub menu entry with better initramfs currently so I do have a working pc it would be nice to switch to this though.

illiliti commented 4 years ago

Which device manager do you use? (mdev,mdevd,udev) Looks like decryption process is very slow, so that caused 'failed to lookup partition'. I can increase delay if that's root of problem

Vixeliz commented 4 years ago

I use eudev currently

illiliti commented 4 years ago

I have increased delay to 80

Vixeliz commented 4 years ago

Same error unfortunately

illiliti commented 4 years ago

Are you sure that your config correct?

Vixeliz commented 4 years ago

Im pretty sure. Here it is:

#
# configuration
#

# debug mode
#
debug=0

# overwrite initramfs
#
force=0

# initramfs output path
#
# default - /tmp/initramfs-$kernel
# example - output="/tmp/myinitramfs.img.gz"
#
output="/boot/tinyramfs-5.4.33.img"

# monolithic kernel
#
monolith=1

# modules directory
#
# default - /lib/modules
# example - moddir="/mnt/root/lib/modules"
#
moddir=""

# kernel version
#
# default - $(uname -r)
# example - kernel="5.4.18_1"
#
kernel=""

# compression program
#
# default - gzip -9
# example - compress="pigz -9"
#
compress=""

# root
#
# supported - PARTUUID, DEVICE, LABEL, UUID
# example -
#   root="/dev/sda1"
#   root="PARTUUID=35f923c5-083a-4950-a4da-e611d0778121"
#
root="/dev/mapper/vg-root"

# root type
#
# default - autodetected
# example - root_type="btrfs"
#
root_type=""

# root options
# example - see fstab(5)
#
root_opts=""

# device manager
# supported - udev, mdev, mdevd
#
devmgr="udev"

# hostonly mode
#
hostonly=0

# additional modules
# example - modules="fat crc32c_generic"
#
modules=""

# exclude modules
# example - modules_exclude="wmi fuse"
#
modules_exclude=""

# additional binaries
# example - binaries="ls cat /path/to/mycustomprog"
#
binaries=""

# LVM support
#
lvm=1

# LVM options
#
# supported - tag, name, group, config, discard
# description -
#   tag - trigger lvm by tag
#   name - trigger lvm by logical volume name
#   group - trigger lvm by volume group name
#   config - embed host lvm config
#   discard - enable issue_discards
# example -
#   lvm_opts="tag=lvm-server"
#   lvm_opts="name=lv1,group=vg1"
#   lvm_opts="config=1,discard"
#   lvm_opts="discard=1"
#
lvm_opts="discard=1"

# LUKS support
#
luks=1

# LUKS encrypted root
#
# supported - PARTUUID, DEVICE, LABEL, UUID
# example -
#   luks_root="/dev/sda1"
#   luks_root="PARTUUID=35f923c5-083a-4950-a4da-e611d0778121"
#
luks_root="/dev/sda2"

# LUKS options
#
# supported - key, name, header, discard
# description -
#   key - embed key
#   name - device mapper name
#   header - embed header
#   discard - enable allow-discards
# example -
#luks_opts="key=/path/to/keyfile,name=myluksroot,header=/path/to/header,discard"
#   luks_opts="discard=1"
#
luks_opts="discard=1,name=luks"
illiliti commented 4 years ago

Try to use UUID or PARTUUID instead of /dev/

Vixeliz commented 4 years ago

Kk ill try that out tommorow unfortunately dont have any more time to debug currently thanks for all the help so far!

illiliti commented 4 years ago

Fine, glad to help either way. I'll leave it open until your issues being fixed

illiliti commented 4 years ago

I think i figured out what caused it. Fix pushed

Vixeliz commented 4 years ago

Yep that worked! Thank you so much for the help Im going to do more testing with some different configurations to make sure everything still works out but this is very promising!