Compiling for apu2

Ok makes sense. Figure you guys would want more optimization flags etc for a specific build. Guess with symmetrical 500 mb/s+ no real point. I figured start with everything working for a reference so if I break it I at least know it was my fault.

Anyway to check what is compiled into the default X86 image? You guys don't list off default IP, ethernet port, or anything. Usually there is release notes and a changelog included with an image for most software projects. Granted you guys are building for everything and probably not enough man power to go around. It is also understandable as these are not stable releases yet.

Was originally thinking of going to DD-WRT but their last X86 build was over a year ago. OpenWRT looks like a ghost town in the forums. I know I can get this thing running with other distros but none seem to have web access and as much as I like ssh sometime I just like using the GUI.

Still cannot believe you guys are building on the 4.4 kernel already with that image. Be interesting where things head but can't see the routers with 8 MB of flash being supported forever. If I get the time I was thinking about making the gui a little nicer but at the same time hoping I don't make one of the under powered routers melt down.

You can check the git log for pointers. That'll at least give you some hints. There's not a lot of shocking differences with OpenWrt, at least not functionally.

As for defaults, the Quick Start Guide in the wiki lists what you need to know. Common sense dictates a web interface runs on port 80, so you can safely assume that is the case here as well.

For the default configuration, you'd have to check the buildroot's .config (it gets autogenerated when you run make defconfig). I can't find where the defaults get pulle from at the moment...

I don't know much about DD-Wrt's support for x86. But if their build is over a year old...

I've been running the PC Engines APU2 for quite some time now on a x86-x64 build. And I reach +500Mb/s transfer speeds with minimal CPU load (15% on all cores). I do however like to use the front LEDs which seems to be included in the patches [Borromini] linked to.

Do we have any status on those patches?

I was able to compile latest with the patches several weeks ago. Willing to share my set up if anyone cares.

They have been merged in the meantime, but they didn't make it into the 17.01.0 release. They are in the 17.01 tree now though:

Good to know. Will the APU devices ever get their own releases or will they always be bundled under X86?

Also is there a reliable way to update these things when they are ext file system. Right now I boot from USB then flash the image but would be nice if it could flash itself.

There won't be a more specific subtarget AFAIK. As for upgrading, I just sysupgrade with the combined ext image. Works fine.

Are the patches mainline in 17.01.4 now. Could use me some wifi patch fix love. Probably time I end my custom compiled ways.

They are indeed.

Do you know if I can do this for a CC 15.05 to LEDE 17.01.4 on the Geode on my ALIX?
Can I do this in the GUI?
This would be so much faster than taking the case apart to get the CF card out, to say nothing of DDing the image.
REF: https://wiki.openwrt.org/doc/howto/generic.sysupgrade => OpenWrt on x86
File: lede-17.01.4-x86-geode-combined-ext4.img.gz

You should be able to I guess, provided you were already using a combined ext image for 15.05, but it might be wise to wipe your settings. So make sure you've hooked your client up to the right LAN port (only the first Ethernet interface gets configured by default).

You should check with a dev if you can switch between image types with sysupgrade. I haven't tried, nor do I know.

1 Like

Oh, big thank you for this trick.

I don't think it took more than 5 minutes from the time I read this till I was done.

Can I partition the free space as Ext4 and mount this as a data device?
If so what do I need for packages (USB?, Samba?)

Does anyone have lede, builded with these flags:

CONFIG_MICROCODE_AMD ( https://patchwork.ozlabs.org/project/lede/list/?series=23987 ) - amd microcode
CONFIG_MEMORY_FAILURE,CONFIG_X86_MCE_AMD, CONFIG_EDAC, CONFIG_EDAC_AMD64 - ECC 
CONFIG_NET_SCH_MULTIQ - multiq
CONFIG_TARGET_OPTIMIZATION="-Os -pipe -march=btver2 -mtune=btver2" - amd optimalization 

?

Thanks

See my reply on the mailing list. Only tested on master so far (and on my Ryzen desktop), but no reason why it shouldn't work on 17.01. Backporting the kernel bits to kernel 4.4 is pretty trivial.

Maybe its better to use backported config 4.9 and then use patch serieries....
And put amd-ucode blobs to /lib/firmware/amd-ucode/...

So you think using a config from a completely different kernel will be easier than adding four lines to the existing one?

I'll make it easy for you. Just apply the patch below.

From 05ac21e2bd125e81b92268da05a0231929918fde Mon Sep 17 00:00:00 2001
From: Stijn Segers <foss@volatilesystems.org>
Date: Thu, 18 Jan 2018 19:46:12 +0100
Subject: [PATCH] x86: enable microcode loading for Intel and AMD

---
 target/linux/x86/config-4.4 | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/target/linux/x86/config-4.4 b/target/linux/x86/config-4.4
index 26bb124b8c..1e15d096cf 100644
--- a/target/linux/x86/config-4.4
+++ b/target/linux/x86/config-4.4
@@ -282,7 +282,10 @@ CONFIG_M486=y
 # CONFIG_MFD_INTEL_LPSS_PCI is not set
 # CONFIG_MGEODEGX1 is not set
 # CONFIG_MGEODE_LX is not set
-# CONFIG_MICROCODE is not set
+CONFIG_MICROCODE=y
+CONFIG_MICROCODE_AMD=y
+CONFIG_MICROCODE_INTEL=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
 # CONFIG_MK6 is not set
 # CONFIG_MK7 is not set
 # CONFIG_MK8 is not set
--
2.11.0

And what about this? https://patchwork.ozlabs.org/patch/862574/

You can just apply that patch as-is, but wigyori has added a newer microcode package so you should that one instead.

Just click 'raw' on top and download the resulting patch, apply it, enable the microcode package in make menuconfig, and build the firmware.

FYI, you should see the following in dmesg:

# dmesg|egrep "AMD |microcode"
[    0.000000] ACPI: DSDT 0x0000000077FB8250 001496 (v02 AMD    COREBOOT 00010001 INTL 20140114)
[    0.000000] ACPI: SSDT 0x0000000077FB9A90 0048A6 (v02 AMD    AGESA    00000002 MSFT 04000000)
[    0.000000] ACPI: SSDT 0x0000000077FBE340 0007C8 (v01 AMD    AGESA    00000001 AMD  00000001)
[    0.320715] smpboot: CPU0: AMD GX-412TC SOC (family: 0x16, model: 0x30, stepping: 0x1)
[    0.328771] Performance Events: AMD PMU driver.
[    0.941030] perf: AMD NB counters detected
[    0.945162] perf: AMD L2I counters detected
[    0.954295] perf: AMD IBS detected (0x000000ff)
[    1.220125] ehci-pci 0000:00:13.0: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
[    2.566929] microcode: CPU0: patch_level=0x07030105
[    2.571834] microcode: CPU1: patch_level=0x07030105
[    2.576793] microcode: CPU2: patch_level=0x07030105
[    2.581735] microcode: CPU3: patch_level=0x07030105
[    2.586701] microcode: Microcode Update Driver: v2.01 <tigran@aivazian.fsnet.co.uk>, Peter Oruba