Discussion:
[OpenWrt-Devel] OpenWrt port for RISC-V
Alex Guo
2018-05-02 16:35:17 UTC
Permalink
Hi,

I'm Alex from Jinglue Semi. Shanghai.

I did some work on porting OpenWrt to RISC-V. Right now it based on
 OpenWrt master branch and use upstream toochain (gcc/7.3.0, Binutils
2.30 and glibc 2.27). I am still working on use vanilla kernel but there
are some build issues to fix.

You can clone from Github, build then run it on qemu 2.12.0 followed by
the README.md in repo. I also tried it on HiFive-U board w/ ramdisk last
week but the macb driver doesn't work, I will try to fix it when I have
more time later.

repo:
  - https://github.com/xfguo/riscv-openwrt-port (build images/bbl/qemu)
  - https://github.com/xfguo/riscv-openwrt (openwrt)

Will try to submit patches after solve all the problems, also need to
wait master bump to gcc/7.3 and linux/4.15+.

Cheers,

Alex Guo
Zoltan HERPAI
2018-05-02 16:59:39 UTC
Permalink
Hi Alex,
Post by Alex Guo
Hi,
I'm Alex from Jinglue Semi. Shanghai.
I did some work on porting OpenWrt to RISC-V. Right now it based on
 OpenWrt master branch and use upstream toochain (gcc/7.3.0, Binutils
2.30 and glibc 2.27). I am still working on use vanilla kernel but there
are some build issues to fix.
You can clone from Github, build then run it on qemu 2.12.0 followed by
the README.md in repo. I also tried it on HiFive-U board w/ ramdisk last
week but the macb driver doesn't work, I will try to fix it when I have
more time later.
  - https://github.com/xfguo/riscv-openwrt-port (build images/bbl/qemu)
  - https://github.com/xfguo/riscv-openwrt (openwrt)
Will try to submit patches after solve all the problems, also need to
wait master bump to gcc/7.3 and linux/4.15+.
Good to see you working on RISC-V too, we've talked earlier in February,
let's sync up. :) I have a port working in QEMU and aimed at getting it
working on the Unleashed board, so maybe we could join the efforts.

In trunk, the default is to use GCC7 (7.3.0 currently), so there's no
issue. For binutils, the version can be selected to use 2.30. As for
glibc, until it's bounced to 2.27, it's OK to have the target in a staging
tree.

For the kernel version, I don't know what the plans are, but I'd
guesstimate the "next" version to find its way into trunk would be the
next longterm kernel, which is not yet announced. I'll check if anyone has
done a full patchset for either 4.15 or 4.16, but as I see You've already
done an initial stab at this. There were a lot of patches for riscv in
4.15, so it'd make sense to try either that or 4.16.

For the userland packages, I have a buildbot set up only to try to build
the non-core OpenWrt packages on riscv, to see which one need amending,
will share that later on.

Regards,
Zoltan H
Alex Guo
2018-05-03 06:25:39 UTC
Permalink
Hi Zoltan,

Great to see you here, let's work together.

I had moved glibc from 2.26 to 2.27 in my port.

About the kernel version, my plan is create patches-4.16 based on
patches-4.14 (may skip some unrelated patches first), then start all the
kernel work on 4.16.y

Also, if we want to run WRT on hifive-u, we may need merge patches from
riscv/riscv-linux, but I think qemu should be first priority.

Please let me know your new process or your git repo or anything I can
help to review/test your port.

best,

Alex Guo
Post by Zoltan HERPAI
Hi Alex,
Post by Alex Guo
Hi,
I'm Alex from Jinglue Semi. Shanghai.
I did some work on porting OpenWrt to RISC-V. Right now it based on
 OpenWrt master branch and use upstream toochain (gcc/7.3.0, Binutils
2.30 and glibc 2.27). I am still working on use vanilla kernel but
there are some build issues to fix.
You can clone from Github, build then run it on qemu 2.12.0 followed
by the README.md in repo. I also tried it on HiFive-U board w/
ramdisk last week but the macb driver doesn't work, I will try to fix
it when I have more time later.
  - https://github.com/xfguo/riscv-openwrt-port (build images/bbl/qemu)
  - https://github.com/xfguo/riscv-openwrt (openwrt)
Will try to submit patches after solve all the problems, also need to
wait master bump to gcc/7.3 and linux/4.15+.
Good to see you working on RISC-V too, we've talked earlier in
February, let's sync up. :)  I have a port working in QEMU and aimed
at getting it working on the Unleashed board, so maybe we could join
the efforts.
In trunk, the default is to use GCC7 (7.3.0 currently), so there's no
issue. For binutils, the version can be selected to use 2.30. As for
glibc, until it's bounced to 2.27, it's OK to have the target in a
staging tree.
For the kernel version, I don't know what the plans are, but I'd
guesstimate the "next" version to find its way into trunk would be the
next longterm kernel, which is not yet announced. I'll check if anyone
has done a full patchset for either 4.15 or 4.16, but as I see You've
already done an initial stab at this. There were a lot of patches for
riscv in 4.15, so it'd make sense to try either that or 4.16.
For the userland packages, I have a buildbot set up only to try to
build the non-core OpenWrt packages on riscv, to see which one need
amending, will share that later on.
Regards,
Zoltan H
Loading...