[coreboot] questions about "QEMU Build Tutorial"
Myles Watson
mylesgw at gmail.com
Tue May 6 18:07:50 CEST 2008
> On Sat, May 3, 2008 at 12:29 AM, Myles Watson <mylesgw at gmail.com> wrote:
> >
> > Your contributions are welcome!
> >
>
> "You must have cookies enabled to log in to coreboot. If you don't
> have an account and wish to contribute contact Stefan Reinauer or
> Ronald Minnich. NOTE: You don't need an account to read the
> information on this site. So don't ask for an account unless you have
> something to contribute."
I'll put it up on the Wiki if you'd like, but I since you "have something to
contribute", you could also ask for an account.
Did you get this all to work like you wanted?
Thanks,
Myles
> Here is a instruction with ugly format, hope I have not miss important
> things.
>
> ==START==
> My test env: debian etch with kernel 2.6.25.
>
> src prepare:
> coreboot v2 - svn://coreboot.org/repos/trunk/coreboot-v2
> qemu-0.9.1.tar.gz/kqemu - http://fabrice.bellard.free.fr/qemu/
> filo-0.5 - svn co svn://coreboot.org/filo/trunk/filo-0.5
> linux src - http://www.kernel.org
> linux rescue cd. - for partitions.
>
> build tools:
> qemu:
> New linux distributions use gcc4.x as default, but qemu needs
> gcc-3.x, so maybe you need to install gcc3.4 (for debian users, 'sudo
> apt-get install gcc-3.4')
> $ cd qemu-0.9.1
> $ ./configure --cc=gcc-3.4 --target-list=i386-softmmu && make
> $ sudo make install
>
> Ok, qemu is done. you can use "qemu -h" for more helps. Let us
> create a qemu hard disk image first. BTW, kqemu will bring you better
> performance, please google for installing.
>
> $ qemu-img create -f raw test.img 200M
> Use your favourite rescue CD to do partion issues.(I choose
> rhel here because both Debian etch/lenny CDs could not enter the
> rescue mode in qemu-0.9.1.:<. anyone who knows the reason please tell
> me, thanks. )
> $ qemu -cdrom ~/iso/rhel5_rescue.iso -boot d -hda test.img -L
> ~/work/qemu-0.9.1/pc-bios/ -m 512
> Run fdisk and create a single partition on the drive that
> takes up the whole drive
> Quit and write the partition to disk
> Run mkfs.ext2fs on that partition
> Exit QEMU
>
> Allright, we start to build rootfs for qemu image.
> $ sudo mount -o loop,offset=32256 test.img /mnt/rootfs
>
> Create a boot directory and copy your Linux kernel (vmlinuz)
> and initramfs (initrd) to it:
>
> $ sudo mkdir /mnt/rootfs/boot
> $ sudo mkdir /mnt/rootfs/boot/filo
> $ sudo cp vmlinuz /mnt/rootfs/boot/vmlinuz
> $ sudo cp initrd /mnt/rootfs/boot/initrd
> $ sudo vi /mnt/rootfs/boot/filo/menu.lst
> # For booting GNU/Linux
> title GNU/Linux
> root (hd0,0)
> kernel /boot/vmlinuz root=/dev/hda1
> initrd /boot/initrd
>
>
> # Add other files as you wish.
> $ sudo cp -R /* /mnt/rootfs
>
> Alternatively, with Debian you can use the debootstrap command
> to create a basic root filesystem:
> $ sudo debootstrap --arch i386 etch /mnt/rootfs
> http://ftp.debian.org/debian/
>
> If you are using a debootstrap filesystem, open the file
> /mnt/rootfs/etc/inittab and change runlevel to level 1:
> id:1:initdefault:
>
> cd out of /mnt/rootfs and umount it:
> $ sudo umount /mnt/rootfs
>
>
> filo:
> $ cd filo-0.5
> First invocation of make creates the default Config file.
> $ make
> Edit this file as you like.
> vi Config
> change MENULST_FILE to "hda1:/boot/filo/menu.lst", since we
> only have one single partition.
> change AUTOBOOT_FILE to "hda1:/boot/vmlinuz root=/dev/hda1
> console=ttyS0,115200"
>
> Run make again to create filo.elf, the ELF FILO image.
> $ make
>
> coreboot:
> change payload to path/to/filo.elf
> $ vi coreboot-v2/targets/emulation/qemu-x86/Config.lb
>
> $ cd coreboot-v2/targets
> $ ./buildtarget emulation/qemu-x86
> $ cd emulation/qemu-x86/qemu-x86/
> $ sudo make
> Here we got coreboot.rom which use filo as bootloader.
>
> $ cp coreboot.rom ~/bios.bin
> $ cp $path/to/qemu-0.9.1/pc-bios/vgabios-cirrus.bin ~/
>
>
> Here we go!
> Boot test.img using coreboot.
> $ qemu -L ~ -hda test.img
>
>
> ==END==
>
>
> --
> FIXME if it is wrong.
More information about the coreboot
mailing list