-
Notifications
You must be signed in to change notification settings - Fork 114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nil pointer in e1000 driver on AWS EC2 #81
Comments
Some more details: I logged the PCI devices discovered in both qemu and ec2. PCI devices in qemu
PCI devices in EC2
|
Thank you very much for your report. The network card driver model of eggos is intel's I'm just curious about how you made eggos into an ec2 image? Thanks again for sharing eggos' attempts on the cloud server. |
Hi @icexin, thanks for your quick feedback! I realised the next day that you are indeed correct, EC2 does not use the e1000 so I understand why it couldn't find it 😄 I did some more research and the network hardware for EC2 is actually quite complex. There are at least three options that I am aware of:
The ENA drivers are open source and seem to be well-documented, but I am not enough of an expert to replicate them in Go: https://github.com/amzn/amzn-drivers/tree/master/kernel/linux/ena. This would be the best perf driver to copy, but I assume it's complex. The older instances (the ones without ENA) are based on Xen and have the "Xen Platform Device" PCI device attached. It has vendor ID 0x5853 and device ID 0x0001. This appears to be documented here (ctrl+F for Regarding eggos -> EC2 image: I can submit a PR sometime in the next few days with a script to do it. But the approximate process is:
Sorry it is not more detailed. It is on my other computer. I will submit a PR soon. |
Hi,
This is a very cool project - thank you for building it! I tried running the helloworld example on AWS EC2 and got the following error. This output is running with the "debug" log level.
That nil pointer panic is from this code:
eggos/drivers/e1000/e1000.go
Lines 223 to 224 in 971efad
A successful run of the same kernel in qemu has different logs:
I understand that this is unlikely to be enough detail for you to diagnose the problem. I am happy to try assist, but I might need some directions from you. Let me know what details you need and I will try provide them.
The text was updated successfully, but these errors were encountered: