1
0
Fork 0

MIPS: qemu_mips: update doc to generate and to use qemu flash, ide file

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
utp
Jean-Christophe PLAGNIOL-VILLARD 2008-09-08 22:27:18 +02:00 committed by Shinya Kuribayashi
parent 16cdf81677
commit b616f2b545
1 changed files with 58 additions and 9 deletions

View File

@ -17,7 +17,28 @@ create image:
start it: start it:
# qemu-system-mips -M mips -pflash flash -monitor null -nographic # qemu-system-mips -M mips -pflash flash -monitor null -nographic
Ide Disk 2) Download kernel + initrd
On ftp://ftp.denx.de/pub/contrib/Jean-Christophe_Plagniol-Villard/qemu_mips/
you can downland
#config to build the kernel
qemu_mips_defconfig
#patch to fix mips interupt init on 2.6.24.y kernel
qemu_mips_kernel.patch
initrd.gz
vmlinux
vmlinux.bin
System.map
4) Generate uImage
# tools/mkimage -A mips -O linux -T kernel -C gzip -a 0x80010000 -e 0x80245650 -n "Linux 2.6.24.y" -d vmlinux.bin.gz uImage
5) Copy uImage to Flash
# dd if=uImage bs=1k conv=notrunc seek=224 of=flash
6) Generate Ide Disk
# dd of=ide bs=1k cout=100k if=/dev/zero # dd of=ide bs=1k cout=100k if=/dev/zero
@ -30,14 +51,12 @@ unit: sectors
ide3 : start= 64260, size= 4128705, Id=83 ide3 : start= 64260, size= 4128705, Id=83
ide4 : start= 0, size= 0, Id= 0 ide4 : start= 0, size= 0, Id= 0
# Generate uImage 7) Copy to ide
# tools/mkimage -A mips -O linux -T kernel -C gzip -a 0x80010000 -e 0x80245650 -n "Linux 2.6.24.y" -d vmlinux.bin.gz uImage
# Copy to Flash
# dd if=uImage bs=1k conv=notrunc seek=224 of=flash
# Copy to ide
# dd if=uImage bs=512 conv=notrunc seek=63 of=ide # dd if=uImage bs=512 conv=notrunc seek=63 of=ide
# Generate ext2 on part 2 8) Generate ext2 on part 2 on Copy uImage and initrd.gz
# Attached as loop device ide offset = 32130 * 512 # Attached as loop device ide offset = 32130 * 512
# losetup -o 16450560 -f ide # losetup -o 16450560 -f ide
# Format as ext2 ( arg2 : nb blocks) # Format as ext2 ( arg2 : nb blocks)
@ -45,10 +64,40 @@ unit: sectors
# losetup -d /dev/loop0 # losetup -d /dev/loop0
# Mount and copy uImage and initrd.gz to it # Mount and copy uImage and initrd.gz to it
# mount -o loop,offset=16450560 -t ext2 ide /mnt # mount -o loop,offset=16450560 -t ext2 ide /mnt
# mkdir /mnt/boot
# cp {initrd.gz,uImage} /mnt/boot/
# Umount it # Umount it
# umount /mnt # umount /mnt
Now you can boot from flash, ide, ide+ext2 and tfp 9) Set Environment
setenv rd_start 0x80800000
setenv rd_size 2663940
setenv kernel BFC38000
setenv oad_addr 80500000
setenv load_addr2 80F00000
setenv kernel_flash BFC38000
setenv load_addr_hello 80200000
setenv bootargs 'root=/dev/ram0 init=/bin/sh'
setenv load_rd_ext2 'ide res; ext2load ide 0:2 ${rd_start} /boot/initrd.gz'
setenv load_rd_tftp 'tftp ${rd_start} /initrd.gz'
setenv load_kernel_hda 'ide res; diskboot ${load_addr} 0:2'
setenv load_kernel_ext2 'ide res; ext2load ide 0:2 ${load_addr} /boot/uImage'
setenv load_kernel_tftp 'tftp ${load_addr} /qemu_mips/uImage'
setenv boot_ext2_ext2 'run load_rd_ext2; run load_kernel_ext2; run addmisc; bootm ${load_addr}'
setenv boot_ext2_flash 'run load_rd_ext2; run addmisc; bootm ${kernel_flash}'
setenv boot_ext2_hda 'run load_rd_ext2; run load_kernel_hda; run addmisc; bootm ${load_addr}'
setenv boot_ext2_tftp 'run load_rd_ext2; run load_kernel_tftp; run addmisc; bootm ${load_addr}'
setenv boot_tftp_hda 'run load_rd_tftp; run load_kernel_hda; run addmisc; bootm ${load_addr}'
setenv boot_tftp_ext2 'run load_rd_tftp; run load_kernel_ext2; run addmisc; bootm ${load_addr}'
setenv boot_tftp_flash 'run load_rd_tftp; run addmisc; bootm ${kernel_flash}'
setenv boot_tftp_tftp 'run load_rd_tftp; run load_kernel_tftp; run addmisc; bootm ${load_addr}'
setenv load_hello_tftp 'tftp ${load_addr_hello} /examples/hello_world.bin'
setenv go_tftp 'run load_hello_tftp; go ${load_addr_hello}'
setenv addmisc 'setenv bootargs ${bootargs} console=ttyS0,${baudrate} rd_start=${rd_start} rd_size=${rd_size} ethaddr=${ethaddr}'
setenv bootcmd 'run boot_tftp_flash'
10) Now you can boot from flash, ide, ide+ext2 and tfp
# qemu-system-mips -M mips -pflash flash -monitor null -nographic -net nic -net user -tftp `pwd` -hda ide # qemu-system-mips -M mips -pflash flash -monitor null -nographic -net nic -net user -tftp `pwd` -hda ide
@ -64,7 +113,7 @@ in an other console you start gdb
1) Debugging of U-Boot Before Relocation 1) Debugging of U-Boot Before Relocation
Before relocation, the addresses in the ELF file can be used without any problems Before relocation, the addresses in the ELF file can be used without any problems
buy connecting to the gdb server localhost:1234 by connecting to the gdb server localhost:1234
# mipsel-unknown-linux-gnu-gdb u-boot # mipsel-unknown-linux-gnu-gdb u-boot
GNU gdb 6.6 GNU gdb 6.6