(07-31-2018, 04:05 PM)paradise Wrote:(07-31-2018, 03:47 PM)manu Wrote:(07-31-2018, 03:09 PM)paradise Wrote: Hi,
I made an image of an almost complete world of FreeBSD for the SoPine including all my patches.
* What works
- Can boots from eMMC and should boot from SD. (didn't test)
- Can boot with MFS (not in this image but you can change the boot.scr or push settings with dhcp)
- Can boot from PXE
- CPU Frequency settings (1248Mhz, 1200Mhz, 1008Mhz, 816Mhz (DEFAULT), 528Mhz)
- Thermal sensor
- DMA Controller
- SRAM Controller for ethernet only
- SD, eMMC both work but may spit out messages at boot only depending on what you have inserted. (I use PXE+MFS+NFS so less prio)
- pkg install / portsnap (ports - I installed glusterfs from ports with somewhat same build as this so it should work!)
* Doesn't work
- No framebuffer (can't use/test it on clusterboard)
- USB doesn't seem to be working but I doubt the connection didn't get it working in Linux either.
- No MALI support what so ever.. regulators for MALI and other stuff are off.
* Issues
- Ethernet is fast but not yet 100% stable.. there are a few link drops for a millisecond or so
I use MFS as root to prevent NFS from freaking out on that if it's the rootfs.
This is only a beta and it's version 1;
I have it running on 7 nodes myself using PXE/MFS and NFS and it's getting more stable with every patch. :-)
Next version I'll also include configs and stuff I use for DHCP/PXE booting the other 6 modules of the 1'st.. Need to compile it first for ARM.
You can use pkg install and portsnap to install stuff.
Login via SSH: sopine/sopine (sopine is in wheel)
Root has no password
https://drive.google.com/open?id=1i7MbXJ...me-Jrl25Lp
Hi,
manu@FreeBSD here.
You talk about patches, where are they ?
For SD boot I know that andrew@ booted some sopine module from sdcard on the clusterboard so it should definitely work.
Framebuffer works (well EFIFB work), on pine64-lts and Pinebook.
USB should work, it work on Pine64/-LTS/Book so I don't see why it doesn't here.
Patches are on the nas at work and a tiny bit I tried to put on github but that was a pain.
Will release all patches for the kernel soon most are minor but make it crash less often (removing unsupported hardware features from settings)
The most important thing to get it to boot from eMMC I made this quick and dirty patch in aw_mmc.c to remove unsupported hardware features on the eMMC controller.
Code:if (bus_width >= 8){
sc->aw_host.caps |= MMC_CAP_8_BIT_DATA;
sc->aw_host.caps &= ~(MMC_CAP_MMC_DDR52 | MMC_CAP_UHS_SDR50 | MMC_CAP_UHS_SDR25);
sc->aw_host.f_max = 52000000;
}
One of the biggest patches is a NetBSD DTS file decompiled, edit and recompile for like 4 ever and get stuff working with existing devices (I then hacked in the kernel build files a bit to include those modules because I was too lazy to find out why they didn't want to compile by default haha).
In other words. it works for what I do with it but I need it to get fixed in base to make update not a pain in my but. :-)
One of the next steps will be get a clean head and get a diff but then I changed many code formatting so I don't think base will accept. (I hate real long lines yes but I hate splitting if(a==b && b == c) up into multiple lines more especially if they are short, they mess up my view of the code)
So importing it will be a bit of work. :-(
For me it was important to get it up and running for our Cluster or else I'm stuck with Linux. haha
The eMMC patch make no sense, why removing those caps ?
For upstreaming, yes I will not accept patches with code not style(9) compliant.
(07-31-2018, 06:09 PM)paradise Wrote:(07-31-2018, 03:47 PM)manuHi, Wrote: manu@FreeBSD here.
You talk about patches, where are they ?
For SD boot I know that andrew@ booted some sopine module from sdcard on the clusterboard so it should definitely work.
Framebuffer works (well EFIFB work), on pine64-lts and Pinebook.
USB should work, it work on Pine64/-LTS/Book so I don't see why it doesn't here.
eMMC boot you need the patch or it will crash.
Thermal patched so it works (needed for our cluster)
CPU Freq also fixed needed more then 800Mhz and need it for stats and monitoring/thermal control.
DMA and SRAM patched a little so it works with the ethernet controller and get more speed
Famebuffer don't need it on the cluster so currently removed from the DTB because of errors at boot and early fitting issue with the DTB in the SPL version of the kernel but that's on hold until more bugs are fixed. (Kernel gets placed into SPL and almost instant boots the kernel when you power up the node)
USB on clusterboard I tested 2 nodes can plug-in stuff but nothing happens, didn't check into it that much, don't need USB.
Just inserted USB key in this node;
Code:# usbconfig list
ugen0.1: <Allwinner EHCI root HUB> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen1.1: <Generic OHCI root HUB> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
ugen3.1: <Generic OHCI root HUB> at usbus3, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
ugen2.1: <Allwinner EHCI root HUB> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
* Looks like nothing to me * :-)
What's the crash you are seeing for eMMC ?
For the thermal driver I'm currently finishing my patch to upstream the dts binding for it and will commit FreeBSD code soon.
The ethernet controller have it's own DMA controller iirc, is that what you have talking about ?
For USB iirc one of the port is configured as OTG and we don't support this (there is a review with patch)
What do you mean by "kernel is placed into SPL" ???