LiveCd into RAM

Alexander E. Patrakov patrakov at ums.usu.ru
Wed Dec 27 21:36:24 PST 2006


Christian Metzen wrote:
> Hi Alexander,
> 
> first, thanks for your answer.
> 
> Alexander E. Patrakov wrote:
>> It is definitely possible, however, I won't do this myself in the nearest
>> future because my computer has only 512 MB of RAM. If you want to implement
>> this, check out the buildscripts from SVN, and do (non-trivial)
>> modifications to the following files:
>>
>> packages/initramfs/init.c
>> scripts/shutdown-helper
>>   
> I'm not that good in C, nay closer hints waht needs to be done for the 
> initramfs? Treid to figure it out for the last days, but for now i'm 
> only seeing trees.... shutdownhelper is not that important for now.

Then please ignore this. You can create your own initramfs as well, and 
package bash and the libraries it depends upon, as well as the necessary 
utilities. Then your /init will be a shell script.

Please see 
http://www.mail-archive.com/livecd@linuxfromscratch.org/msg03639.html for 
more details.

> Well my root.ext2 is smaller, i only needed 200MB space for a running 
> lfs system with some programs in it. :-) Though, this shouldn't matter or?
> 
> If i mount the iso image in a loop device, the drive is locked again 
> isn't it? Or am i understanding it wrong what you are trying to suggest.

Yes, you misunderstood the suggestion. Instead of "mount -n -t iso9660 
/dev/$CDROM /.cdrom", I suggest:

dd if=/dev/$CDROM of=/.tmpfs/.cdimage.iso  # oversimplified,
                                            # will fail for TAO burn
losetup /dev/loop2 /.tmpfs/.cdimage.iso

and then use /dev/loop2 as the CD-ROM.

OTOH, you probably (read: completely untested) can simply package the whole 
system in a big cpio.gz archive, make /init a symlink to /sbin/init, and run 
with this archive as the initramfs. This way, the boot loader will copy the 
whole thing into RAM, and you will be able to eject the CD immediately after 
that.

-- 
Alexander E. Patrakov



More information about the livecd mailing list