Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
wiki:qemupxeknife [2009/05/22 18:09] less1 |
wiki:qemupxeknife [2009/05/23 09:43] (current) less1 |
||
---|---|---|---|
Line 8: | Line 8: | ||
- You will also need PXELinux [[http://syslinux.zytor.com/wiki/index.php/PXELINUX]] | - You will also need PXELinux [[http://syslinux.zytor.com/wiki/index.php/PXELINUX]] | ||
<code> | <code> | ||
- | $ cd /home/myname/pxeknife/pxeknife/ | + | $ mkdir /home/myname/for_pxe_knife/ |
+ | $ wget http://pxeknife.erebor.org/releases/pxeknife-0.0.2.tar.gz | ||
+ | $ cd /home/myname/for_pxe_knife/ | ||
+ | $ tar -xvf ../pxeknife-0.0.2.tar.gz | ||
$ cp /usr/lib/syslinux/pxelinux.0 . | $ cp /usr/lib/syslinux/pxelinux.0 . | ||
$ cp /usr/lib/syslinux/*.c32 . | $ cp /usr/lib/syslinux/*.c32 . | ||
$ cp /usr/lib/syslinux/memdisk . | $ cp /usr/lib/syslinux/memdisk . | ||
$ mkdir pxelinux.cfg | $ mkdir pxelinux.cfg | ||
- | $ | + | $ vi pxelinux.cfg/default |
</code> | </code> | ||
+ | Now, the content of my //pxelinux.cfg/default// file is | ||
+ | <code> | ||
+ | DEFAULT menu.c32 | ||
+ | PROMPT 0 | ||
+ | TIMEOUT 100 #this is optional - will start the default after 10 seconds | ||
+ | MENU TITLE --== Main Menu ==-- | ||
+ | |||
+ | #this allows you to exit the pxe stack and pass booting to the local system | ||
+ | LABEL bootlocal | ||
+ | MENU DEFAULT | ||
+ | MENU LABEL Local Boot | ||
+ | localboot 0 | ||
+ | |||
+ | |||
+ | #load pxe knife | ||
+ | LABEL pxeknife | ||
+ | MENU LABEL PXE Knife ---> | ||
+ | kernel menu.c32 | ||
+ | append pxeknife/pxeknife.conf | ||
+ | </code> | ||
<code> | <code> | ||
- | $ tree /home/myname/pxeknife/pxeknife/ | + | $ cd gpxe/bootables/ |
- | . | + | $ qemu-img create -f raw testing.img 10M |
- | |-- boot_managers | + | </code> |
- | | |-- boot_managers.conf | + | |
- | | `-- sgd_0.9450_english.img | + | |
- | |-- drubcd.img | + | |
- | |-- hard_drive_utils | + | |
- | | |-- cloning | + | |
- | | | |-- g4u-2.2.hdiso | + | |
- | | | |-- g4u-2.2.iso | + | |
- | | | `-- hd-cloning.conf | + | |
- | | |-- diagnosis | + | |
- | | | |-- hd-diagnosis.conf | + | |
- | | | |-- mhdd32.igz | + | |
- | | | `-- salvation_hdd_scan_repair.igz | + | |
- | | |-- hd.conf | + | |
- | | |-- manufacturer | + | |
- | | | |-- fujitsu | + | |
- | | | | `-- hd-manu-fujitsu.conf | + | |
- | | | |-- hd-manufacturers.conf | + | |
- | | | |-- ibm_hitachi | + | |
- | | | | |-- dft.igz | + | |
- | | | | |-- hd-manu-ibm_hitachi.conf | + | |
- | | | | `-- ibmft.igz | + | |
- | | | |-- maxtor_quantum | + | |
- | | | | |-- hd-manu-maxtor_quantum.conf | + | |
- | | | | |-- maxblast.igz | + | |
- | | | | `-- powermax.igz | + | |
- | | | |-- samsung | + | |
- | | | | |-- hd-manu-samsung.conf | + | |
- | | | | `-- ssdm.igz | + | |
- | | | |-- seagate | + | |
- | | | | |-- discwiz.igz | + | |
- | | | | |-- diskmgr.igz | + | |
- | | | | |-- hd-manu-seagate.conf | + | |
- | | | | `-- seatool3.igz | + | |
- | | | `-- western_digital | + | |
- | | | |-- datalife.igz | + | |
- | | | |-- dlgudma.igz | + | |
- | | | `-- hd-manu-western_digital.conf | + | |
- | | `-- wiping | + | |
- | | |-- dban.igz | + | |
- | | `-- hd-wiping.conf | + | |
- | |-- knoppix | + | |
- | | |-- 5.0.1 | + | |
- | | | |-- miniroot.gz | + | |
- | | | `-- vmlinuz | + | |
- | | `-- knoppix.conf | + | |
- | |-- linux_boot_disks | + | |
- | | |-- basiclin.igz | + | |
- | | |-- linux_boot_disks.conf | + | |
- | | |-- rip.img | + | |
- | | |-- tomsrtbt.igz | + | |
- | | `-- trinux.igz | + | |
- | |-- memory_test | + | |
- | | |-- docmem1.igz | + | |
- | | |-- docmem2.igz | + | |
- | | |-- memory_test.conf | + | |
- | | |-- memtest.igz | + | |
- | | |-- memtest86+ | + | |
- | | | `-- memtest86+-1.65 | + | |
- | | |-- tm4.igz | + | |
- | | `-- windiag.igz | + | |
- | |-- ntfs_tools | + | |
- | | |-- ntfs4dos.img | + | |
- | | |-- ntfs_tools.conf | + | |
- | | `-- offline_nt | + | |
- | | `-- cd060213 | + | |
- | | |-- initrd.cgz | + | |
- | | |-- scsi.cgz | + | |
- | | `-- vmlinuz | + | |
- | |-- pxeknife.conf | + | |
- | |-- random_utils | + | |
- | | |-- madboot.igz | + | |
- | | `-- random_utils.conf | + | |
- | |-- system_information | + | |
- | | |-- nssi.igz | + | |
- | | |-- pcisniffer.igz | + | |
- | | `-- system_information.conf | + | |
- | `-- ubcd-images | + | |
- | |-- fd288ara.igz | + | |
- | |-- fd32rdp.igz | + | |
- | |-- fdmsrrc.igz | + | |
- | |-- fdnwd288.igz | + | |
- | `-- fdubcd.img | + | |
- | 23 directories, 60 files | + | Here is the code which is working for |
- | $ | + | <code> |
+ | $ qemu -net nic -net user -boot n -hda ./testing.img -bootp /pxelinux.0 -tftp /home/myname/for_pxe_knife/ | ||
+ | $ qemu -net nic -net user -fda ./gpxe.dsk -bootp /pxelinux.0 -tftp /home/myname/for_pxe_knife/ | ||
+ | </code> | ||
+ | for following version of qemu version qemu version 0.10.0 | ||
+ | <code> | ||
+ | $ qemu | ||
+ | QEMU PC emulator version 0.10.0, Copyright (c) 2003-2008 Fabrice Bellard | ||
+ | </code> | ||
+ | ==== Problems ==== | ||
+ | |||
+ | As per me following command should have worked, but It did not worked | ||
+ | |||
+ | <code> | ||
+ | $ qemu -bootp tftp://10.0.2.2//pxelinux.0 -tftp /home/myname/for_pxe_knife/ -fda gpxe.dsk | ||
</code> | </code> | ||
+ | at same time command | ||
+ | <code> | ||
+ | $ qemu -bootp /pxelinux.0 -tftp /home/myname/for_pxe_knife/ -fda gpxe.dsk | ||
+ | </code> | ||
+ | works. | ||
+ | |||
+ | Problem faced is,\\ | ||
+ | it successfully downloads the //pxelinux.0// and executes it, | ||
+ | but it fails when it is downloading pxelinux.cfg/default\\ | ||
+ | It gives an error saying | ||
+ | <code> | ||
+ | TFTP prefix: tftp://10.0.2.2// | ||
+ | Trying to load: pxelinux.cfg/default | ||
+ | Unable to locate configuration file | ||
+ | |||
+ | Boot failed: press a key to retry, or wait for reset... | ||
+ | </code> | ||
+ | |||
+ | |||
+ | Note : There are some versions of qemu for which network boot option did not worked. | ||
+ | <code> | ||
+ | $ qemu -net nic -net user -boot n -hda ./testing.img -bootp /pxelinux.0 -tftp /home/minix-pravin/Etherboot/v2/pxeknife/pxeknife/ | ||
+ | No valid PXE rom found for network device | ||
+ | </code> | ||
+ | Above error came for qemu version 0.9.1 | ||
+ | <code> | ||
+ | $ qemu | ||
+ | QEMU PC emulator version 0.9.1, Copyright (c) 2003-2008 Fabrice Bellard | ||
+ | </code> | ||
+ | |||
+ | But if you provide gpxe.dsk instead of ./testing.img it uses gpxe.dsk stack and boots properly. | ||
+ | <code> | ||
+ | $ qemu -net nic -net user -fda ./gpxe.dsk -bootp /pxelinux.0 -tftp /home/minix-pravin/Etherboot/v2/pxeknife/pxeknife/ | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | ==== Useful links ==== | ||
+ | - [[http://syslinux.zytor.com/wiki/index.php/PXELINUX]] About pxelinux | ||
+ | - [[http://syslinux.zytor.com/wiki/index.php/Development/Testing]] for using qemu with pxelinux. | ||
+ | |||
+ | |||