Forum > General discussion
tcmichals 看全部
2015-2-22 04:14:47
Edited by fritz at 2015-11-19 22:30

Does 3.19 or 3.20 Linux (Kernel.org) line main support the orangePlus?

codekipper 看全部
2015-10-22 17:01:44
Here are some more detailed instructions.
I'm always try to work with pretty much the latest u-boot and kernel. There may be some errors here as I use scripts for a lot of my building and setup. Most of below has been taken from my bash history.

Prepare your card

(echo n; echo p; echo 1; echo 2048; echo +15M; echo n; echo p; echo 2; echo 32768; echo +240M; echo p; echo w) | fdisk /dev/<CARD_LOCATION>
mkfs.vfat /dev/<CARD_LOCATION>1

Build u-boot

In your u-boot git have the following remotes.
git remote add jemk https://github.com/jemk/u-boot-sunxi.git (this is where the patches are)
git remote add sunxi-wip https://github.com/jwrdegoede/u-boot-sunxi (Hans' development track for u-boot)
git fetch --all
git branch orangepi sunxi-wip/sunxi-wip (creates new branch at the latest commit from Hans)
git checkout orangepi
git cherry-pick jemk/sunxi/h3~4..jemk/sunxi/h3 (this adds jemk's h3 patches to the latest u-boot)
make ARCH=arm -j 18 CROSS_COMPILE=arm-linux-gnueabihf- xunlong_orangepi_plus_defconfig
make ARCH=arm -j 18 CROSS_COMPILE=arm-linux-gnueabihf-
dd if=u-boot-sunxi-with-spl.bin of=/dev/<CARD_LOCATION> bs=1024 seek=8
At this point the card should boot to u-boot prompt

Build kernel

In your kernel git have the following remote.
git remote add linux-next git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next
git fetch --all
git branch orangepi linux-next/master
Download the patches from these links
git am *.patch (make sure no other patches are in your repo directory)
make ARCH=arm -j 18 CROSS_COMPILE=arm-linux-gnueabihf- sunxi_defconfig
make ARCH=arm -j 18 CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x40008000 INSTALL_MOD_PATH=output uImage dtbs modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=output modules_install (can be ignored for now)

Write to card

mkdir /tmp/sdcard
mount -t vfat /dev/<CARD_LOCATION>1 /tmp/sdcard/
cp <kernel dir>/arch/arm/boot/uImage /tmp/sdcard/.
cp <kernel dir>/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dtb /tmp/sdcard/.

cat > /tmp/boot.cmd << "EOF"
setenv fdt_high ffffffff
#Settings for booting from the card.
setenv loadkernel fatload mmc 0 \$kernel_addr_r uImage
setenv loaddtb fatload mmc 0 \$fdt_addr_r sun8i-h3-orangepi-plus.dtb
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
setenv uenvcmd run loadkernel \&\& run loaddtb \&\& bootm \$kernel_addr_r - \$fdt_addr_r
run uenvcmd

mkimage -C none -A arm -T script -d /tmp/boot.cmd /tmp/sdcard/boot.scr

cat > /tmp/sdcard/uEnv.txt << EOF
setenv fdt_high ffffffff
setenv loadkernel fatload mmc 0 \$kernel_addr_r uImage
setenv loaddtb fatload mmc 0 \$fdt_addr_r sun8i-h3-orangepi-plus.dtb
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
setenv uenvcmd run loadkernel \&\& run loaddtb \&\& bootm \$kernel_addr_r - \$fdt_addr_r
run uenvcmd

cd /tmp/
wget http://downloads.openwrt.org/sna ... wrt-sunxi-root.ext4
resize2fs /tmp/openwrt-sunxi-root.ext4 240M
dd if=/tmp/openwrt-sunxi-root.ext4 of=/dev/<CARD_LOCATION>2 bs=128k
umount /tmp/sdcard

This should now boot to the openwrt prompt.
fritz 看全部
2015-11-24 06:04:13
Can confirm.U-boot mainline now works without patches.

Today I have builded from sunxi-wip (Hans) and it works correctly.
full boot log:
If you want to try with other branches like linux-next you need to patch it.
The only branch that actually has all patches included is @Hans sunxi-wip branch.

jcdr 看全部
2016-10-4 01:50:28
Hi, I design a custom board using the H3. According to http://linux-sunxi.org/Linux_mainlining_effort#Status_Matrix only the EMAC and CSI are missing from the mainline kernel to run the expected applications on that board. But the WIP indication suggest that some peoples are already working on them.

For the EMAC I found this patch that seem to be already usable http://lists.infradead.org/piper ... ptember/455663.html Maybe there is a repository somewhere with a even more advanced version of this patch ?

For the CSI I have only found a patch for the clock. Did someone have more ? This is of special interest for me because on my design a use a FPGA to convert the MIPI CSI-2 two lanes of a image sensor into the DVP signals accepted by the H3 and this have obvious implication on the code used to configure the sensor by I2C. So If a get a chance to hack on a code that is likely hit the mainline, I will probably save time.
tdack 看全部
2015-11-23 06:22:55
Fritz, could you say what kernel sources you are using and where you are getting them from?

Hans has applied some patches relating to USB and some from Jens to his sunxi-wip branch but I can't get a kernel to boot fully.  It hangs at "Registering SWP/SWPB emulation handling"
It also looks like it is having trouble finding/bringing up the voltage regulators for USB.

Complete log: http://pastebin.com/VGkEix9p

In other news it looks like H3 support is making its way into U-Boot mainline http://git.denx.de/?p=u-boot.git ... 928665d26edab8429e4
tdack 看全部
2015-11-16 08:01:09
Edited by tdack at 2015-11-16 10:30


When i apply the WIP USB patches from sunxi-wip branch of @jwrdegoede to my linux-next branch with the V4 patches from @jemk then it works.

Fritz, can you point me to the linux-next branch that you are using?  I assume that the V4 patches are coming from the linux-sunxi mailing list?

Just to make sure I've got things in the right order:

1. Grab linux-next source
2. Apply jwrdegoede/linux-sunxi sunxi-wip patches for H3 USB support
3. Apply jemk H3 V4 patches from linux-sunxi mailing list
4. Profit, only with GPIO though

Update ...

Using @jwrdegoede/u-boot-sunxi/sunxi-wip and @jwrdegoede/linux-sunxi/sunxi-wip I've now managed to get a full kernel boot.


Looks like USB is progressing!


  1. [    0.777507] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
  2. [    0.784098] ehci-platform: EHCI generic platform driver
  3. [    0.789635] ehci-platform 1c1b000.usb: EHCI Host Controller
  4. [    0.795254] ehci-platform 1c1b000.usb: new USB bus registered, assigned bus number 1
  5. [    0.803236] ehci-platform 1c1b000.usb: irq 23, io mem 0x01c1b000
  6. [    0.827604] ehci-platform 1c1b000.usb: USB 2.0 started, EHCI 1.00
  7. [    0.835123] hub 1-0:1.0: USB hub found
  8. [    0.839003] hub 1-0:1.0: 1 port detected
  9. [    0.843788] ehci-platform 1c1c000.usb: EHCI Host Controller
  10. [    0.849454] ehci-platform 1c1c000.usb: new USB bus registered, assigned bus number 2
  11. [    0.857365] ehci-platform 1c1c000.usb: irq 25, io mem 0x01c1c000
  12. [    0.877608] ehci-platform 1c1c000.usb: USB 2.0 started, EHCI 1.00
  13. [    0.884996] hub 2-0:1.0: USB hub found
  14. [    0.888851] hub 2-0:1.0: 1 port detected
  15. [    0.893526] ehci-platform 1c1d000.usb: EHCI Host Controller
  16. [    0.899180] ehci-platform 1c1d000.usb: new USB bus registered, assigned bus number 3
  17. [    0.907071] ehci-platform 1c1d000.usb: irq 27, io mem 0x01c1d000
  18. [    0.927601] ehci-platform 1c1d000.usb: USB 2.0 started, EHCI 1.00
  19. [    0.934906] hub 3-0:1.0: USB hub found
  20. [    0.939314] hub 3-0:1.0: 1 port detected
  21. [    0.943905] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
  22. [    0.950164] ohci-platform: OHCI generic platform driver
  23. [    0.955639] ohci-platform 1c1b400.usb: Generic Platform OHCI controller
  24. [    0.962323] ohci-platform 1c1b400.usb: new USB bus registered, assigned bus number 4
  25. [    0.970233] ohci-platform 1c1b400.usb: irq 24, io mem 0x01c1b400
  26. [    1.032832] hub 4-0:1.0: USB hub found
  27. [    1.036647] hub 4-0:1.0: 1 port detected
  28. [    1.041830] ohci-platform 1c1c400.usb: Generic Platform OHCI controller
  29. [    1.048535] ohci-platform 1c1c400.usb: new USB bus registered, assigned bus number 5
  30. [    1.056429] ohci-platform 1c1c400.usb: irq 26, io mem 0x01c1c400
  31. [    1.122800] hub 5-0:1.0: USB hub found
  32. [    1.126612] hub 5-0:1.0: 1 port detected
  33. [    1.131349] ohci-platform 1c1d400.usb: Generic Platform OHCI controller
  34. [    1.138050] ohci-platform 1c1d400.usb: new USB bus registered, assigned bus number 6
  35. [    1.145928] ohci-platform 1c1d400.usb: irq 28, io mem 0x01c1d400
  36. [    1.212832] hub 6-0:1.0: USB hub found
  37. [    1.216644] hub 6-0:1.0: 1 port detected

zhao_steven 看全部
2015-2-22 09:54:33
Just H3 release isn't very long time.  3.19 or 3.20 Linux (Kernel.org) line main hasn't supported the orangePlus.
tcmichals 看全部
2015-3-3 12:25:03
So when do you think the u-boot/kernel source will be in a public accessible git? What Linux version is the target?
zhao_steven 看全部
2015-3-3 20:55:55
First kernel 3.4 version.
pgauret 看全部
2015-4-7 10:20:17
Hi Steven,

I just ordered an Orange Pi Plus. Whilst I'm very happy that it uses a modern H3 processor I'm a bit more concerned by Linux kernel availability.
- When do you plan to release 3.4 kernel for H3? So far I only see Android image for download.
- What about mainline? The page at http://linux-sunxi.org/Xunlong_Orange_Pi_Plus says it is supported and mentions a sun7i-h3-orangepiplus.dtb file, but I couldn't find it anywhere.

It would be good if you could provide a bit more information about your plans & current status. Of course we can all understand H3 is very new and things will take a bit of time.
1234.. 19NextPage

OrangePi En

Powered by Discuz! X3.4

homepage|Simple edition|Touch edition|PC