Как я это сделал:
1. Взял initrd из текущей системы и распаковал его так:
mkdir /root/initrd
cd /root/initrd
zcat /initrd.img|cpio -i
# FIXME This has no error checking
# Mount root
if [ "${FSTYPE}" != "unknown" ]; then
#mount ${roflag} -t ${FSTYPE} ${ROOTFLAGS} ${ROOT} ${rootmnt}
mkdir /ramboottmp
mount ${roflag} -t ${FSTYPE} ${ROOTFLAGS} ${ROOT} /ramboottmp
modprobe zram
modprobe loop
echo 2G >/sys/block/zram0/mem_limit
echo 2G >/sys/block/zram0/disksize
losetup -P /dev/loop0 /dev/zram0
mkfs.ext4 /dev/loop0
mount -t ext4 /dev/loop0 ${rootmnt}
cd ${rootmnt}
unsquashfs -f -d ./ /ramboottmp/root/factory.sfs
cp -R -P /ramboottmp/lib/modules ./lib
echo "/dev/loop0 / ext4 defaults 0 0" >./etc/fstab
umount /ramboottmp
else
3. Скопировал туда все необходимые бинарики и обратно запаковал:
find ./|cpio -H newc -o ../initrd.img
4. Приготовил образ а потом перезугрузился и при загрузке указал этот initrd.
Итого, что имеем:
- 1. Очень хорошую производительность системы и никаких лагов.
- 2. Хорошую отзывчивость приложений.
Если бы у меня было бы побольше оперативки, то я бы в zram гонял виртуальные машины.