Hi all,

there is a problem as my raid device is read-only so
/etc/rc.d/init.d/checkfs fails.

The machine is built on the C236 chipset and I have enabled raid5.
There are 3 1TB disks combined to an raid-5 array.
The partiton type is gpt, grub+EFI installed on /boot. the partition
layout is

/dev/md126p1 /boot
/dev/md126p2 swap
/dev/md126p3 /       (ArchLinux)
/dev/md126p4 /       (LFS-1)
/dev/md126p5 /       (LFS-2)
/dev/md126p6 /home
/dev/md126p7 /srv
/dev/md126p8 /data

Arch is booting quite well. I've taken Arch's kernel config, built the
kernel for LFS with this config, created an initramfs using BLFS's
mkinitramfs script.
I found that the mkinitramfs script misses "readlink" and "basename"
which are called somewhere within udev. A patch for that see below. The
patch eliminates some error mesages in early boot stage, but changed
nothing of the ro-issue.

I found systemd stuff in the udev rules dealing with mdraid.
Unfortunatly, I'm not used enough to udev rules to say whether this may
be something to think about. ArchLinux does use systemd, I'm building
stricktly non-systemd systems. Those udev rules are

./lib/udev/rules.d/63-md-raid-arrays.rules  and
./lib/udev/rules.d/64-md-raid-assembly.rules

Any ideas what could be the reason why devices are read-only?

--
Thomas




Index: trunk/autolfs/files/mkinitramfs
===================================================================
--- trunk/autolfs/files/mkinitramfs     (Revision 665)
+++ trunk/autolfs/files/mkinitramfs     (Arbeitskopie)
@@ -38,6 +38,8 @@
 binfiles="sh cat cp dd killall ls mkdir mknod mount "
 binfiles="$binfiles umount sed sleep ln rm uname"
 
+ubinfiles="readlink basename dirname"
+
 sbinfiles="udevadm modprobe blkid switch_root"
 
 #Optional files and locations
@@ -55,6 +57,7 @@
 
 # Create base directory structure
 mkdir -p $WDIR/{bin,dev,lib/firmware,run,sbin,sys,proc}
+mkdir -p $WDIR/usr/bin
 mkdir -p $WDIR/etc/{modprobe.d,udev/rules.d}
 touch $WDIR/etc/modprobe.d/modprobe.conf
 ln -s lib $WDIR/lib64
@@ -104,6 +107,11 @@
   copy $f sbin
 done
 
+for f in $ubinfiles ; do
+  ldd /usr/bin/$f | sed "s/\t//" | cut -d " " -f1 >> $unsorted
+  copy /usr/bin/$f usr/bin
+done
+
 # Add udevd libraries if not in /sbin
 if [ -x /lib/udev/udevd ] ; then
   ldd /lib/udev/udevd | sed "s/\t//" | cut -d " " -f1 >> $unsorted

-- 
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to