Pxe-livecd » История » Редакция 3
Редакция 2 (Андрей Волков, 2015-01-21 09:55) → Редакция 3/5 (Андрей Волков, 2015-05-25 18:08)
h1. Pxe-livecd
h2. Настройки загрузчика:
h3. Файлы
*tftp/gentoo*
*tftp/initramfs.igz*
*tftp/pxelinux.0*
*tftp/pxelinux.cfg/default*
<pre>
default gentoo
label gentoo
kernel gentoo
append initrd=initramfs.igz root=/dev/ram0 init=/linuxrc loop=/image.squashfs looptype=squashfs cdroot=1 real_root=/
</pre>
h2. Исправление для image.squashfs
На примере install-amd64-minimal-20120621.iso
<pre>
<code class="diff">
diff -u init.orig init
--- init.orig 2012-08-01 12:37:57.000000000 +0600
+++ init 2012-08-01 12:39:08.000000000 +0600
@@ -372,10 +372,10 @@
[ ! -e "${NEW_ROOT}/dev/tty1" ] && mknod "${NEW_ROOT}/dev/tty1" c 4 1
fi
- if [ "${REAL_ROOT}" != "/dev/nfs" ] && [ "${LOOPTYPE}" != "sgimips" ]
- then
- bootstrapCD
- fi
+# if [ "${REAL_ROOT}" != "/dev/nfs" ] && [ "${LOOPTYPE}" != "sgimips" ]
+# then
+# bootstrapCD
+# fi
if [ "${REAL_ROOT}" = '' ]
then
@@ -460,7 +460,7 @@
else
bad_msg "Block device ${REAL_ROOT} is not a valid root device..."
REAL_ROOT=""
- got_good_root=0
+ got_good_root=1
fi
done
@@ -524,7 +524,7 @@
[ -z "${LOOP}" ] && find_loop
[ -z "${LOOPTYPE}" ] && find_looptype
- cache_cd_contents
+ #cache_cd_contents
# If encrypted, find key and mount, otherwise mount as usual
if [ -n "${CRYPT_ROOT}" ]
</code>
</pre>
h3. Исходные файлы:
<pre>
image.squashfs
isolinux/gentoo
isolinux/gentoo.igz
isolinux/isolinux.cfg
</pre>
h3. Приготовление
<pre>
mkdir unpack
cd unpack
xzcat ../gentoo.igz | cpio -mdi
vi init
mv -v ../image.squashfs
find | cpio -o -H newc | xz -v > ../initramfs.igz
</pre>