Archive for June 2011

So there’s a hard limit of 640 megs of ram with Anaconda in Fedora 15…which is rather annoying on the livecd, because it doesn’t need anything like that amount to install, moreover a cumulation of the unified initrd, anaconda, yum and semodule on the dvd’s installation which will eat your RAM.

Anyway, below is a method for installing the livecd image in much less than 640…I’ve tested it at 512, but it doesn’t seem to get much more than 200M so I’m guessing it would work lower.

Use at your own risk…it worked for me 🙂

#method for installing Fedora15 live in less than 640M RAM
#
#this particular version is for a vm, but the basic rules should apply
#
#create a raw disk image big enough
qemu-img create -f raw FedoraLive.img 10G

#boot the liveCD, along with the disk image, with 512M RAM

qemu-kvm -m 512 -hda FedoraLive.img -cdrom Fedora-15-i686-Live-Desktop.iso

# you can boot either runlevel 3 or 5, but you only need a console, so 3 is enough (append 3 to the boot argument)
# next, confirm that your unpartitioned, raw disk is available
fdisk -l | grep sd

#should return something like “Disk /dev/sda doesn’t contain a valid partition table”
#fdisk the device and create a valid partiton table of 3 partitions (one for /boot, one for /, one for swap
# in my case, I have /dev/sda1 (200M) for /boot, /dev/sda2 (2G) for swap, /dev/sda3 (the rest) for /boot
#
#make the filesystem
mkfs.ext3 /dev/sda1
mkfs.ext3 /dev/sda3
mkswap /dev/sda2

# loopmount the squashfs
mkdir /squash
mount -o loop /mnt/live/LiveOS/squashfs.img /squash

# dd the contents of the filesystem to /dev/sda3 (or whichever you used for /)
dd if=/squash/LiveOS/ext3fs.img of=/dev/sda3

#this could take a while, because its 4G in size. I haven’t played with various blocksizes (bs=fooM), but I guess that might speed things up a bit

#now to check everything went across ok

#make the sysroot directory
mkdir /sysroot
#mount the device
mount /dev/sda3 /sysroot
#mount the boot partition
mount /dev/sda1 /sysroot/boot
#check that the contents of /sysroot looks like a proper filesystem, then resize /dev/sda3 to the maximum size
resize2fs /dev/sda3
# copy the kernel into your sysroot
cp /boot/vmlinuz-* /sysroot/boot
# copy the splash image into your sysroot (make it pretty)
cp /boot/grub/* /sysroot/boot/grub/
# chroot into your filesystem
chroot /sysroot
# create an initramfs
dracut -f
# make a menu.lst in /boot/grub/
# it should look something like this

default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
title Fedora
kernel /vmlinuz-2.6.38.6-26.rc1.fc15.i686 root=/dev/sda3 quiet rhgb
initrd /initramfs-2.6.38.6-26.rc1.fc15.i686.img

# now, exit the chroot
exit
# next, install grub on your new filesystem
grub-install –root-directory=/sysroot /dev/sda
#
#reboot and enjoy your Fedora 15 🙂