emacs/var/elfeed/db/data/b6/b63cd8ac516c08c5f7c506775c1ba2045c49fc00
2022-01-03 12:49:32 -06:00

1 line
3.1 KiB
Plaintext

<!-- SC_OFF --><div class="md"><p>I was trying to minimise initramfs to optimise booting following <a href="https://wiki.archlinux.org/title/Mkinitcpio/Minimal_initramfs">https://wiki.archlinux.org/title/Mkinitcpio/Minimal_initramfs</a></p> <p>But failed to boot not detecting root which is a btrfs partitions,</p> <p>Then I found this <a href="https://stackoverflow.com/questions/43001223/how-to-ensure-that-there-is-a-delay-before-a-service-is-started-in-systemd">https://stackoverflow.com/questions/43001223/how-to-ensure-that-there-is-a-delay-before-a-service-is-started-in-systemd</a></p> <p>I created those two files, still fails to detect the root.</p> <p>Anybody has succeeded in doing this?</p> <p>Thank you</p> <p>Files: <code>/etc/mkinitcpio.d/linux-xanmod-anbox.preset</code> ```</p> <h1>mkinitcpio preset file for the &#39;linux-xanmod-anbox&#39; package</h1> <p>ALL_config=&quot;/etc/mkinitcpio.conf&quot; ALL_kver=&quot;/boot/vmlinuz-linux-xanmod-anbox&quot;</p> <p>PRESETS=(&#39;default&#39; &#39;fallback&#39;)</p> <h1>default_config=&quot;/etc/mkinitcpio.conf&quot;</h1> <p>default_image=&quot;/boot/initramfs-linux-xanmod-anbox.img&quot;</p> <h1>fallback_config=&quot;/etc/mkinitcpio.conf&quot;</h1> <p>fallback_image=&quot;/boot/initramfs-linux-xanmod-anbox-fallback.img&quot; fallback_options=&quot;-S autodetect&quot; <code> `/usr/lib/initcpio/hooks/without-udev` </code></p> <h1>!/bin/ash</h1> <h1>Minimal initramfs files are created without udev.</h1> <h1>This hooks provides a polling disk mount replacement for udev.</h1> <h1>Udev hook can be removed, resulting in smaller initramfs files.</h1> <p>run_hook () { local dev timeout sleepval device=$root # if udev is running then exit [ &quot;$udevd_running&quot; -eq 1 ] &amp;&amp; return # try for (timeout * sleepval =) 10 seconds to handle slow (USB) devices timeout=1000 sleepval=0.01</p> <pre><code>case $device in # label to resolve, when resolved the kernel block device also exists UUID=*|LABEL=*|PARTUUID=*|PARTLABEL=*) while [ $timeout -gt 0 ]; do timeout=$((timeout - 1)) dev=$(blkid -lt &quot;$device&quot; -o device) [ -n &quot;$dev&quot; ] &amp;&amp; timeout=0 || sleep $sleepval done ;; # kernel named block device, poll for existence /dev/*) while [ $timeout -gt 0 ]; do timeout=$((timeout -1)) if [ -b &quot;$device&quot; ]; then dev=$device timeout=0 else sleep $sleepval fi done ;; esac </code></pre> <p>} <code> `/usr/lib/initcpio/install/without-udev` </code></p> <h1>!/bin/bash</h1> <p>build() { add_runscript }</p> <p>help() { cat &lt;&lt;HELPEOF This hook provides support for booting without the &quot;udev&quot; hook, including support for UUID, LABEL, PARTUUID, PARTLABEL. HELPEOF } ```</p> <p>Also a line in /etc/mkinitcpio.conf <code>BINARIES=&quot;fsck fsck.btrfs btrfsck&quot;</code></p> </div><!-- SC_ON --> &#32; submitted by &#32; <a href="https://www.reddit.com/user/mishab_mizzunet"> /u/mishab_mizzunet </a> <br/> <span><a href="https://www.reddit.com/r/archlinux/comments/rceqfs/minimising_initramfs_fails_to_detect_btrfs_root/">[link]</a></span> &#32; <span><a href="https://www.reddit.com/r/archlinux/comments/rceqfs/minimising_initramfs_fails_to_detect_btrfs_root/">[comments]</a></span>