-
Notifications
You must be signed in to change notification settings - Fork 20.3k
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
OpenWRT install go-ethereum #3724
Comments
MIPS32 or MIPS64? The simplest approach (probably painful) is to clone the go-ethereum codebase onto your device, install Go 1.8 on it and build it on device. Cross compiling is a bit more involved, since you need to set up your toolkits in your host machine to build to the guest machine. The makfile contains a docker based cross compiler that in theory should be able to churn out a 64bit mips binary, but it's been a long time since I worked with cross compilation and I haven't ported it to mips32 yet. |
It's MIPS 24KEc 32-bit RAM 128MB DDR2 If I done cross-compile and copy to target device,is it able run the ethereum node itself?Should I disable JIT or something for establish private network. |
Hi, I did a quick cross compilation of Geth 1.6.0 to mips32 and mips32le. Could you try these and see if they work? I don't have an OpenWRT system so I've really no clue. If it works ok, we can integrate it into our makefile and build systems. |
It says
|
Could you please try to little endian version too? ( |
It says
|
Could you try again with these? I've forced static linking in my toolchain. This seems to work for me in my openwrt emulator for mips. Btw, according to the logs above, your system is running in little endian mode, so you'll need |
I thought it works but after 3sec some logs appear.
|
Hmm, ok, at least we're one step closer :) Let me see what these logs mean :D |
Reading up on the Go 1.8 release notes, it states:
Now, according to some wiki-like page:
which means that your CPU doesn't seem to have a floating point unit, but Go currently does require one to run. I'm guessing it should be possible for you to enable kernel FPU emulation, though I'm unfamiliar with exactly what that entail (i.e. flipping some config and rebooting, or rebuilding the kernel). |
Thanks,I will try it tomorrow then update here. |
Hi,do you think it's useful?
|
Yes, I'm aware of this, but this requires the compiler to be able to
generate calls against these emulation functions. gcc does have support for
it, but Go generates its own native code directly and the 1.8 release does
not support it yet (it was the first release to add mips support). It is
however a planned feature of Go 1.9, so I'm hoping it will become available
on the Go develop branch in a few weeks. Until then however there's no real
way for me to generate these soft fp calls. Kernel emulation may do it, but
it will of course be very slow.
…On Mar 2, 2017 03:43, "yicheng" ***@***.***> wrote:
Hi,do you thinks it's useful?
Use a floating point emulation library
The application program written in high-level language uses the floating
point operations asis, but the compiler, instead of generating floating
point instructions for them, generates calls to the floating point
emulation functions. These emulation functions are provided by some
library, against which the program is then linked. The GNU C Library glibc
also comes with support for floating point emulation. Note that the default
glibc distribution might not have the floating point emultion (FPE)
support, but glibc has a configure option using which we can compile glibc
with FPE support.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#3724 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAH6GcNZj9T_D6pP7H5CLMVjsB0GiEGtks5rhh7VgaJpZM4MOd5b>
.
|
Soft float CLs are currently under review upstream in Go. Hopefully in a week or so we can do another test trial with this :) |
thanks! |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
I want to install go-ethereum on an mips cpu and openWRT,
how to install it ?thanks.
The text was updated successfully, but these errors were encountered: