Jump to content

Linux for Raspberry Pi Alternatives

Hi All, this is my first post in quite awhile.

 

I recently purchased an OrangePi Zero 2W and it should be arriving some time this week. Here's the official link for those interested. Anyway, the OrangePi website claims the board supports a whole host of different operating systems, but OrangePi just provides a somewhat sketchy shared Google Drive folder with the Linux ISOs that they list as compatible. I was wondering if anyone has any knowledge on re-spinning an ISO for an ARM SBC.

 

I know the processor on the SBC I bought is an Allwinner H618 with 4GB RAM, but I don't know how to bundle the necessary drivers, or if the generic Ubuntu ARM ISO will work out of the box. Ideally, I'd like to use something pretty lightweight like the Lubuntu distro since I have had good luck with it on official Raspberry Pi boards, but that goes back to the same question; how to I include the necessary drivers or will they be available out of the box? It also looks like the GPIO for the OrangePI Zero 2W is pin-compatible with the Raspberry Pi, so GPIO drivers would also be nice since one of the features I occasionally use on name-brand Pi's is the UART console so that I can interface with the board without a network connection. Eventually I would also like to configure a self-hosted WiFi AP so that a client can connect directly to the SBC using something like VNC, but the UART console can do a similar thing but without a GUI.

 

In summary, I guess what I'm looking for is some insight into bundling WiFi & GPIO drivers for my OrangePi Zero 2W into an already existing Linux ISO.

 

Thanks for any input

Link to comment
Share on other sites

Link to post
Share on other sites

the shady platform support is something that's kept me away from the alternative pi boards.

 

the problem with ARM boards is that there isnt necessarily a standardized boot process the same way as we've had it on x86. so the problem isnt the drivers, the problem is booting the OS.

 

from my experience with official pi boards, alternative OS'es built for raspberry also arent as stabile as raspbian is. for example i've had manjaro for the raspberry running on a board once, and it just kept locking up after 30 minutes or so.

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, manikyath said:

the shady platform support is something that's kept me away from the alternative pi boards.

 

the problem with ARM boards is that there isnt necessarily a standardized boot process the same way as we've had it on x86. so the problem isnt the drivers, the problem is booting the OS.

 

from my experience with official pi boards, alternative OS'es built for raspberry also arent as stabile as raspbian is. for example i've had manjaro for the raspberry running on a board once, and it just kept locking up after 30 minutes or so.

Well, I was able to find some documentation on OrangePi's github, although there is no mention of the Zero 2W as it was apparently released last month roughly when I ordered it. From what the specs say though, it seems similar in architecture to the Zero 2, as the Zero 2 uses an H616 where the 2W uses a H618 which are pretty similar afaik. I also found some of the official firmware bins in the orangepi github as well. I just need to do some more reading I guess.

Link to comment
Share on other sites

Link to post
Share on other sites

RPi4B is $35

 

It works well on FreeBSD 14.0-CURRENT

OS: FreeBSD 13.3  WM: bspwm  Hardware: Intel 12600KF -- Kingston dual-channel CL36 @6200 -- Sapphire RX 7600 -- BIOSTAR B760MZ-E PRO -- Antec P6 -- Xilence XP550 -- ARCTIC i35 -- EVO 850 500GB

Link to comment
Share on other sites

Link to post
Share on other sites

There is a DTS for the H618, but it's for the Zero 3, do you know how different it is from the 2W?

https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts

 

Seems like it inherits from the regular Zero's H616 with minor changes. You could either try booting a distro with an up to date kernel, or creating an appropriate DTS for your board and building your own custom kernel with it.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

 

Sorry for the late updates everyone. It's approaching the end of the delivery window for the OrangePi Zero 2W and tracking still shows it sitting in California after arriving in the United States.

 

On 10/9/2023 at 4:26 PM, igormp said:

There is a DTS for the H618, but it's for the Zero 3, do you know how different it is from the 2W?

https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts

 

Seems like it inherits from the regular Zero's H616 with minor changes. You could either try booting a distro with an up to date kernel, or creating an appropriate DTS for your board and building your own custom kernel with it.

I could be mistaken but I think they are extremely similar, maybe just the board layout is different. I found a post here claiming that the OrangePi Zero 3 booted on kernel 6.5-rc with minor tweaks, which could be good news if the board even arrives. If not, I might just get a name-brand Pi 4 4GB.

 

Also I am finishing up college for computer engineering, but I have yet to compile a Linux kernel so I have absolutely no idea what to do in that regard. All of my experiences have been with lower level embedded systems programming so I haven't tinkered much with that kind of stuff. I know OrangePi's docs show how to compile the Linux kernel and a bootable image, but I think it uses a slightly older kernel. Ideally I'd get Debian 12 or similar working since the Panfrost Mesa3D driver for the Mali G30 on the SoC was incorporated in that release

 

**EDIT**

I should add I'd love to do some tinkering with building the kernel but I have absolutely no idea where to start.

 

Since starting with Kernel 6.5 it seems like the H618 should boot, wouldn't that mean any Distro based on that kernel should just work or would the bootloader on the board not necessarily see the OS?

 

Again, bear with me here, operating systems and kernels aren't my strong suits

Link to comment
Share on other sites

Link to post
Share on other sites

On 10/9/2023 at 4:26 PM, igormp said:

There is a DTS for the H618, but it's for the Zero 3, do you know how different it is from the 2W?

https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/allwinner/sun50i-h618-orangepi-zero3.dts

 

Seems like it inherits from the regular Zero's H616 with minor changes. You could either try booting a distro with an up to date kernel, or creating an appropriate DTS for your board and building your own custom kernel with it.

 

I just hopped over to the OrangePi GitHub and lo and behold, under their Kernel 6.1 Linux branch, I found their official DTS for the OrangePi Zero 2W!

 

I have absolutely no idea what to do now, but that's something I guess.

 

Also, they refer to the processor as an Allwinner H616 in the DTS, but it's actually a H618. The only difference I found in reading is that the H618 has a larger L2 cache.

 

Any pointers on what I should do now that I found the DTS?

Link to comment
Share on other sites

Link to post
Share on other sites

13 hours ago, Calamity1911 said:

 

I just hopped over to the OrangePi GitHub and lo and behold, under their Kernel 6.1 Linux branch, I found their official DTS for the OrangePi Zero 2W!

 

I have absolutely no idea what to do now, but that's something I guess.

 

Also, they refer to the processor as an Allwinner H616 in the DTS, but it's actually a H618. The only difference I found in reading is that the H618 has a larger L2 cache.

 

Any pointers on what I should do now that I found the DTS?

Get whatever kernel version you want, slap that dts under the appropriate folder, open the terminal, do a "make menuconfig" in there, set anything you may want (specially the device part), and hit "make all"

 

That'd be a really dumb overview, sadly I'm not at home during the following couple weeks, but I hope the following can guide you through stuff:

https://kernelnewbies.org/KernelBuild

 

Feel free to ping me or post here for errors, being able to build your own custom kernel is a really nice ability to have in our field 🙂

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, igormp said:

Get whatever kernel version you want, slap that dts under the appropriate folder, open the terminal, do a "make menuconfig" in there, set anything you may want (specially the device part), and hit "make all"

 

That'd be a really dumb overview, sadly I'm not at home during the following couple weeks, but I hope the following can guide you through stuff:

https://kernelnewbies.org/KernelBuild

 

Feel free to ping me or post here for errors, being able to build your own custom kernel is a really nice ability to have in our field 🙂

Thanks, that was a good resource! I made sure to download the aarch64-linux-gnu-gcc package for cross-compilation from my 64-bit WSL image (Ubuntu 22.04 LTS) and made sure to enable my desired features in the menuconfig.

 

When actually performing the build, I get a few errors relating to GCC:
aarch64-linux-gnu-gcc: error: unrecognized argument in option ‘-mabi=aapcs-linux’

aarch64-linux-gnu-gcc: error: unrecognized command-line option ‘-mtp=cp15’

aarch64-linux-gnu-gcc: error: unrecognized command-line option ‘-mfpu=vfp’

aarch64-linux-gnu-gcc: error: unrecognized command-line option ‘-msoft-float’

 

When I did a little bit of googling, it seems as if it's an issue with cross-compilation. Any tips/pointers? I have work in a little bit though so my response might be a bit delayed

 

**EDIT**

 

Rookie mistake, I specified ARCH=arm instead of ARCH=arm64. Specifying the latter seems to have fixed it

Link to comment
Share on other sites

Link to post
Share on other sites

  • 3 months later...

Hello. I'm needing a little help setting up a 3.5 RPi LCD on the OrangePi Zero 2W. I have tried several somewhat obsolete tutorials and I cannot get an image on that touch LCD. LCD link step:
http://www.lcdwiki.com/3.5inch_RPi_Display
I tried several distros from the orange pi page
Debian 12
Ubuntu
Arch (only detects it connected)

Thx

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×