LinuxForum.Fans
Тема

Загрузка системы со squash

Автор: dimdimblch 2 сообщений 3263 просмотров
08.08.2022 14:11 #438005

Всем Привет,

Задача состоит в том, чтобы загрузить систему со squash.

Создал сквош закинул на диск, нашел статейку на хабре https://habr.com/ru/post/164147/

Добавил в init BOOT=ram
Добавил файлик ram в usr/share/initramfs-tools/scripts/ отредактировав его под себя следующим образом:

text
#!/bin/bash
retry_nr=0

do_rammount() { log_begin_msg "Mounting rootfs image to /mnt/squashfs" mount /dev/sda1 /mnt mount -r -o remount /dev/sda1 /mnt mkdir -p /tmp/squashf mount -t squashfs -o loop /mnt/mnt/squashfs/rootfs.squashfs /tmp/squashf log_end_msg

log_begin_msg "Mounting tmpfs and copy rootfs image" mkdir -p /tmpfs mount -t tmpfs -o size=1G none /tmpfs cp -r -v /tmp/squashf/* /tmpfs || exit 2 log_end_msg

log_begin_msg "Umount squashfs" umount /tmp/squashf || exit 2 log_end_msg } mountroot() { for x in $(cat /proc/cmdline); do case $x in rooturl=*) export rooturl=${x#rooturl=} ;; esac done

log_begin_msg "Loading module squashfs" modprobe squashfs log_end_msg # For DHCP modprobe af_packet

wait_for_udev 10

# Default delay is around 180s delay=${ROOTDELAY:-180}

# loop until rammount succeeds do_rammount rootmnt=/tmpfs while [ ${retry_nr} -lt ${delay} ] && [ ! -e ${rootmnt}${init} ]; do log_begin_msg "Retrying rammount" /bin/sleep 1 do_rammount retry_nr=$(( ${retry_nr} + 1 )) log_end_msg done }

После чего перекомпилировал initramfs, ребутаюсь и получаю

text
Starting kernel ...

Loading, please wait... Starting version 247.3-7 Begin: Loading essential drivers ... done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Running /scripts/nfs-top ... done. Begin: Running /scripts/nfs-premount ... done. Begin: Loading module squashfs ... done. Begin: Mounting rootfs image to /mnt/squashfs ... mount: mounting /dev/sda1 on /mnt failed: No such file or directory mount: mounting /dev/sda1 on /mnt failed: No such file or directory mount: mounting /mnt/mnt/squashfs/rootfs.squashfs on /tmp/squashf failed: No such file or directory done. Begin: Mounting tmpfs and copy rootfs image ... cp: can't stat '/tmp/squashf/*': No such file or directory

Подскажите может кто сталкивался, в какую сторону посмотреть и что проверить....

Войдите или зарегистрируйтесь, чтобы ответить.