Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
soc:2010:andreif:journal:week12 [2010/08/09 14:40] andreif |
soc:2010:andreif:journal:week12 [2010/08/13 06:54] (current) andreif |
||
---|---|---|---|
Line 24: | Line 24: | ||
Amazingly enough, the hypervisor booted and even recognized the vmlinuz image (I am not sure how this happened since I didn't give any specific commands for this), and the Linux kernel froze because it didn't know how to access the root partition (because I didn't pass it any root= argument like in GRUB). At this point, I was happy with today's progress, and I was glad to see that the hypervisor worked. | Amazingly enough, the hypervisor booted and even recognized the vmlinuz image (I am not sure how this happened since I didn't give any specific commands for this), and the Linux kernel froze because it didn't know how to access the root partition (because I didn't pass it any root= argument like in GRUB). At this point, I was happy with today's progress, and I was glad to see that the hypervisor worked. | ||
+ | |||
+ | ==== Day 2 [ Tue 10 Aug 2010 ] ==== | ||
+ | |||
+ | Resumed the tests today. First thing I did was pass a "root=/dev/sda1" argument to the vmlinuz module, since apparently that was the problem yesterday. Also, I fetched the initrd. To my surprise, the hypervisor now reported that it could not find any dom0 kernels. I had a hunch this was related to the order I fetched the images so I tried fetching the initrd before the vmlinuz module. This worked and the kernel booted. | ||
+ | |||
+ | However, things can't be left in this state. I will have to modify the multiboot code so the modules are placed in proper order. | ||
+ | |||
+ | Non working order: | ||
+ | <code> | ||
+ | imgfetch vmlinuz | ||
+ | imgfetch initrd | ||
+ | |||
+ | MULTIBOOT 0x17514 module 0 is [b1f80000,bb8b1400) | ||
+ | MULTIBOOT 0x17514 module 1 is [bf9b5000,bfda2920) | ||
+ | </code> | ||
+ | |||
+ | Working order: | ||
+ | <code> | ||
+ | imgfetch initrd | ||
+ | imgfetch vmlinuz | ||
+ | |||
+ | MULTIBOOT 0x17514 module 0 is [b1f80000,b236d920) | ||
+ | MULTIBOOT 0x17514 module 1 is [b236e000,bbc9f400) | ||
+ | </code> | ||
+ | |||
+ | ==== Day 3 [ Wed 11 Aug 2010 ] ==== | ||
+ | |||
+ | Git commit: [[http://git.etherboot.org/?p=people/andreif/gpxe.git;a=commit;h=5a082f918accb57c8ba28cf1802705b42c96784c|5a082f918accb57c8ba28cf1802705b42c96784c]] | ||
+ | |||
+ | Today I implemented the --nodecode option that allows an user to fetch an image without it being decoded. Also, I tried fixing the image order issue but it doesn't work yet. I have to find out exactly how gPXE is laid out in memory before I can properly solve this issue. | ||
+ | |||
+ | ==== ^D ==== | ||
+ | |||
+ | Unfortunately, due to time-constraints related to my departure, I am postponing the work on the multiboot patches until after GSoC. | ||
+ | |||
+ | === Previously... === | ||
+ | |||
+ | To sum up my work this summer: | ||
+ | |||
+ | * pcnet32 driver **[[http://git.etherboot.org/?p=gpxe.git;a=commit;h=eff94214157cc7ffa6b8f91e9c4be19e0948a716|link]]** | ||
+ | * forcedeth driver **[[http://git.etherboot.org/?p=gpxe.git;a=commit;h=b8d214cfb66dcb02e2c56fcf1242edc54a81cc50|link]]** | ||
+ | * small patch related to MAC address handling, code ported from Linux **[[http://git.etherboot.org/?p=gpxe.git;a=commit;h=b97c7df02afea7e8a311be9767c839a654717827|link]]** | ||
+ | * small patch for r8169 driver **[[http://git.etherboot.org/?p=gpxe.git;a=commit;h=f73ffe84e8d44ff9261a461d56916ac94ec01e30|link]]** | ||
+ | * improve multiboot code so that Xen, VMware ESXi and Solaris work properly. This is still a work in progress. In the **[[http://git.etherboot.org/?p=people/andreif/gpxe.git;a=commit;h=5a082f918accb57c8ba28cf1802705b42c96784c|current state]]**, gPXE + Xen hypervisor + dom0 kernel + initrd work with the small catch that the initrd has to be fetched first. | ||
+ | |||
+ | === And the Oscar goes to... === | ||
+ | |||
+ | * //Google//, for making this possible | ||
+ | * //The gPXE team//, for accepting me as their student this summer | ||
+ | * //stefanha//, for providing invaluable help on a day-to-day basis and taking his time to explain things thoroughly | ||
+ | * //mdc//,//meteger//, for helping me with debugging the drivers and moral support | ||
+ | * //oremanj//, for insight into the decoding infrastructure | ||
+ | * //GuoFuTseng//, for testing my forcedeth driver | ||
+ | * //peper//, for his role in me learning how to properly format a patch :) | ||
+ | |||
+ | If I have forgotten anybody, I apologize, but know that your help was used in making the above patches possible. | ||
+ | |||
+ | === Finale === | ||
+ | |||
+ | Great summer, awesome project, I hope to able to contribute to it further. GG! |