Looks like there is a conflict with where master
has gone. You'd have to resolve the conflicts by editing the partial merge (you'll see the old/new choices in the combined file) and commit to your local branch.
And for those of us who have no idea how to do that... are we just SOL?
To answer my own question, yes I suppose we are. On that note I took a shot at sorting the two files out and was able to integrate them. I successfully compiled a build but my hardware hasn't arrived yet so I don't have a test bed. If there's a way to attach files to this thread I'd be happy to share.
Google drive? Github? Dropbox? I think it is excellent that you are taking this approach and expanding on it. Taking one idea and furthering our collective knowledge. That is how we make progress!
Caveats: I'm not a programmer. I have almost zero experience with GitHub. I have even less experience with Linux. The fact I was able to update these files and successfully build is a bigger surprise to me than to you.
With that out of the way, here we go!
1. Download the modified files from here (Google Drive Link) and save them in a convenient location. I put them in ~/1968updates.
2. Clone the OpenWRT git repository.
3. Create a branch. I called mine x86patch.
4. Pull in the 1968 pull request as a patch and apply it.
5. Replace the two bad files with the files from step 1.
6. Add the new files to git.
7. Continue the patch.
8. You are ready to build.
Yeah I admit that isn't very helpful so here are the commands I used:
> me@computer:~$ git clone https://git.openwrt.org/openwrt/openwrt.git ; cd openwrt
me@computer:~/openwrt$ git checkout -b x86patch
me@computer:~/openwrt$ wget https://github.com/openwrt/openwrt/pull/1968.patch
me@computer:~/openwrt$ git am 1968.patch
me@computer:~/openwrt$ cp ~/1968updates/gen_image_generic.sh ./scripts/gen_image_generic.sh
me@computer:~/openwrt$ cp ~/1968updates/Makefile ./target/linux/x86/image/Makefile
me@computer:~/openwrt$ git add scripts/gen_image_generic.sh
me@computer:~/openwrt$ git add target/linux/x86/image/Makefile
me@computer:~/openwrt$ git am --continue
Now you can continue with your regular build process as if you've just finished cloning the repository.
Let us never speak of this again.
OK that totally didn't work! And I can't edit the post so let's try again! This time with feeling!!*
Caveats: I'm not a programmer, use at your own risk, blah blah blah...
With that out of the way, here we go!
- Specific Commands follow. If you use the same directory and branch names you can just copy-paste!
- Download the modified files from here (link corrected) and save them in ~/1968updates.**
- Clone the OpenWRT git repository.
- Create a branch called x86patch.
Here are the commands for steps 3 and 4:
git clone https://git.openwrt.org/openwrt/openwrt.git
cd openwrt
git checkout -b x86patch
- Pull in the 1968 pull request as a patch and apply it.
- Replace the two bad files with the files from step 2.
wget https://github.com/openwrt/openwrt/pull/1968.patch
patch -p1 < 1968.patch
cp ~/1968updates/gen_image_generic.sh ./scripts/gen_image_generic.sh
cp ~/1968updates/Makefile ./target/linux/x86/image/Makefile
- Add the new files to git.
git add config/Config-images.in
git add package/base-files/files/lib/upgrade/common.sh
git rm package/boot/grub2/Makefile
git add scripts/gen_image_generic.sh
git add target/linux/x86/base-files/lib/preinit/79_move_config
git add target/linux/x86/base-files/lib/upgrade/platform.sh
git add target/linux/x86/generic/config-4.14
git add target/linux/x86/generic/config-4.19
git add target/linux/x86/image/Makefile
git add target/linux/x86/image/grub-iso.cfg
git add tools/firmware-utils/Makefile
git add tools/firmware-utils/src/ptgen.c
git add package/boot/grub2/common.mk
git add package/boot/grub2/grub2-efi/
git add package/boot/grub2/grub2/
- You are ready to build.
If you select Target System (x86), Subtarget (x86_64), and Target Profile (Generic x86/64) you'll get a new option under Target Images --->
[*] Build EFI images (Linux x86 or x86_64 host only)
If you see this you are in good shape, and when you compile you'll see efi images like
openwrt-x86-64-combined-ext4-efi.img.gz
openwrt-x86-64-combined-squashfs-efi.img.gz
Final caveats: I haven't had a chance to load this on hardware yet. It looks correct but I won't know for sure until the next day or two when I give it a go.
Footnotes:
- with feeling and more exclamation points.
** Sorry the link got messed up. But I don't think the files were quite right anyway. I spent a good chunk of my weekend sorting out what went wrong. I think I might have it now.
I rebased, resoved conflicts and did some of the requested tidy ups in the PR, dumping it here https://git.openwrt.org/?p=openwrt/staging/ldir.git;a=shortlog;h=refs/heads/pr/1968
Completely untested. Maybe it will save some of the above work arounds for you.
(Talking to myself again...)
Well today I was able to compile a UEFI image and install it on a ODROID-H2! Looks like we are in business
Oh sure, steal my thunder @ldir. A thunder thief is what you are! All jokes aside thank you for doing this. My workarounds are because I wouldn't know where to begin to do what you did. Now how do we get UEFI support formally tested and merged?
All I did was git-pr 1968 github to pull in the PR branch.
git rebase master to rebase that onto current master state, which produced the conflict warning.
edit the 2 conflicting files to resolve those conflicts (which were very straightforward) and fix up a couple of things that were mentioned in the PR whilst I was there. It's straightforward if you know how of course, a perplexing mystery if you don't.
I've nudged the PR, you never know. :-/
The simplest way to accomplish building a custom firewall is @dlakelan's approach: Retain LuCI and the OpenWRT Kernel. By removing iptables and implementing nftables the cake sqm is fully coded. Simply remove and replace the firewall code.
Things are moving slowly but progress is happening. I will begin with @dlakelan's approach to start things off because this method involves switching things and my method involves learning linux networking commands, and I do not even know where to begin with those - there is no definitive guide on constructing anything like this, it is reserved for the knowledgeable few and seems as though people would like to have it kept that way. We are out to change that. If anyone can point out resources for us to use this topic can serve as a stepping stone for linux networking, the first of its kind.
Alternatively~
Thanks to @moeller0 and @jeff. This is a thread which will continue on the building of a Linux system with implementation of Cake SQM as I build the system, my underlying problem of having latency problems was solved with disabling the OpenWRT firewall and coding a basic firewall with iptables, which is fairly standard. @dlakelan also suggests running nftables which requies some extensive knowledge in the networking area. I built a stable firewall within 16 hours with iptables.
At first I tried to edit /etc/config/firewall
with the default rules from fw3 print
and just save the file that way. I ran into a ton of issues then figured luci builds the iptables rules from the /etc/config/firewall
. This mainly came because I spent an hour fiddeling with the /etc/config/firewall
adding iptables to it then something happened, I must have messed up the code and with my own iptables rules in it something happened and the latency issues were gone. I made an addition to the /etc/config/firewall
and I couldn't get the firewall to connect. I had a pppoe dial and drew an ip and web access on the interfaces but nothing going through to the internet so I had to start over but I had a general idea of where the lag was in the iptables code of the default firewall.
Thus I set out to code a firewall with iptables. At the beginning of the coding I had trouble finding the script I wanted then adding the things I wanted to make the firewall function properly latency wise. After I got the firewall to function with cake but I had latency troubles which just gave me a sluggish sort of feeling, just like the default firewall, basically I had a custom firewall which didn't perform any better than what I had before and I felt like I wasted 10 hours.
Then I added some rules which broke through the latency issues. I can't tell which one did the trick but if anyone can offer some advice on how and why this happened, I set up the firewall to function as usual, then from my previous trial and error of editing the default firewalls iptables rules I saw these rules and changed them, this is what removed the lag.
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A -o eth1 -j ACCEPT
iptables -A -o pppoe-wan -j ACCEPT
ptables -A -o br-lan -j ACCEPT
iptables -A FORWARD -j ACCEPT
iptables -A OUTPUT -j ACCEPT
Now one of these worked the magic - but which one?
rule 3,4,5 don't specify a chain to add after -A, so I don't think they could possibly work. rule 6 seems to bypass your firewall entirely allowing all forwarding, that would certainly reduce the computational overhead
but what you've done is valuable, if you see latency caused by firewalling it's useful to know and we should investigate!
Also I really think writing nftables rules is easier than iptables rules... so once we have debugged the problems with nftables on 19.x.x I invite you to ask questions on that thread, we can put together a script for you.
So on the quest to to determine optimal latency figures based off of hardware and network configurations I have settled on the route I wish to take. I ordered another VDSL modem meaning I will have 3 broadcom chips to test and select the best performer. Where it gets really muddy is building a firewall.
I attempted to build and use an iptables firewall by inserting the script below into /etc/rc.local
and system>>startup>firewall:disable. I was not able to make the firewall function and kept losing conneciton and rewriting the x86.
# clear iptable rules
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
# reset counters
iptables -Z
# set default policies
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -j ACCEPT
iptables -A INPUT -i eth1 -j REJECT
iptables -A OUTPUT -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -j REJECT
iptables -t nat -A PREROUTING ACCEPT
iptables -t nat -A INPUT ACCEPT
iptables -t nat -A OUTPUT ACCEPT
iptables -t nat -A POSTROUTING ACCEPT
# Service rules
iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT
# wan MTU fixing
iptables -t mangle -A FORWARD -p tcp -o eth1 -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# NAT traffic going out the WAN interface.
iptables -A POSTROUTING -o eth1 -j MASQUERADE
# forward from LAN to WAN
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
# Fix loopback settings
iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
iptables -A INPUT -s 10.1.1.2/32 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
# Allow traffic on lan
iptables -A INPUT -i eth0 -j ACCEPT
# SSH - accept from LAN
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
# enable traceroute rejections to get sent out
iptables -A INPUT -p udp -m udp --dport 33434:33523 -j REJECT --reject-with icmp-port-unreachable
# DNS - accept from LAN
iptables -A INPUT -i eth0 -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 53 -j ACCEPT
# DHCP client requests - accept from LAN
iptables -A INPUT -i eth0 -p udp --dport 67:68 -j ACCEPT
# allow known connections
iptables -A -m conntrack --ctstate DNAT -j ACCEPT
iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Allow incoming traffic from the firewall
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Allow outgoing traffic from the firewall
iptables -A OUTPUT -m conntrack --ctstate NEW -j ACCEPT
# User initiated and related traffic
iptables -A FORWARD -i eth1 -o eth0 -m conntrack --ctstate ESTABLISHED,RELATED,DNAT -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Internet access from subnets
iptables -A FORWARD -m conntrack --ctstate NEW -j ACCEPT
I decided ultimately on nftables and debian with cake sqm because compiling an openwrt kernel looks too difficult and honestly I would just write it in Linux if it is going to be that difficult. I wanted to see if there is something I can use in the meantime? Something I can build and test with in like an hour or so on a minimal firewall possibly without cake sqm - or would I need to just write a debian box with iptables, because I can probably do that in a day.
Mainly I am asking because looking for assistance in repairing my iptables script went nowhere and if I start with a Linux box I would just be trying to fix the same script.
Whoa! So all I do with OpenWrt-ImageBuilder-x86-64.Linux-x86_64.tar.bz2 would be the exact same way I would have with openwrt-x86-64-combined-ext4.img.gz? gunzip
, fdisk
, dd
write to disk? SSH into the device and execute these in CLI?
## Place your custom repositories here, they must match the architecture and version.
# src/gz %n http://downloads.openwrt.org/releases/18.06.0-rc2
# src custom file:///usr/src/openwrt/bin/ramips/packages
## Remote package repositories
src/gz openwrt_core http://downloads.openwrt.org/releases/18.06.0-rc2/targets/ramips/mt7621/packages
src/gz openwrt_base http://downloads.openwrt.org/releases/18.06.0-rc2/packages/mipsel_24kc/base
src/gz openwrt_luci http://downloads.openwrt.org/releases/18.06.0-rc2/packages/mipsel_24kc/luci
src/gz openwrt_packages http://downloads.openwrt.org/releases/18.06.0-rc2/packages/mipsel_24kc/packages
src/gz openwrt_routing http://downloads.openwrt.org/releases/18.06.0-rc2/packages/mipsel_24kc/routing
src/gz openwrt_telephony http://downloads.openwrt.org/releases/18.06.0-rc2/packages/mipsel_24kc/telephony
## This is the local package repository, do not remove!
src imagebuilder file:packages
I am noticing that is not the current build 19.07, does the link change for the new build or do I copy and paste in 19.07. I just do not want to attempt to compile or build an image and not have a link or run into an error I cannot identify. Speaking of errors, how do I diagnose the errors, are there a few key commands after they occur when building the ROMS to help with this?
After thinking about it, compiling an image would be just about as work intensive as using the snapshot - as I would have to go through the same set up process as if I had compiled it. Appreciate it greatly @anomeome ! If I am going to go into the CLI it may as well be from the start and not half way in.
Also there is usually a few things I do when I write and compile the fresh image of OpenWRT. I will need direction of how to get them done. First, I set passwd
. Then, I set the SSH to listen only on LAN, I need help to do this in CLI. Then, I set static links on my pc, switch, AP, I need to set this up in CLI. Next, I configure SQM and set this up using CLI. I am assuming I can configure sqm with vi /etc/config/sqm
I am copying the setup of my current x86 /etc/config/network
and /etc/config/firewall
and /etc/config/firewall
. Are the any other locales which I should copy incase I can't get a link - this router is simple DHCP so I usually link as soon as the device is up.
I figure while I get an nftables firewall figured out for a debian box I can compile something.
- After youtubing(https://youtu.be/kjzQg_sB8rY?t=621) I see abilities to call commands via CLI ~ i.e
cd /bin
ls
- Found Set Password with
passwd
- Found
/etc/config/dhcp
for static IP handing to devices - Assume
/etc/config/dropbear
is used for setting SSH to listen only on LAN - Assume my current config will work if pasted into
/etc/config/sqm
or set as I go - And as far as diagnostice goes do I just use
ip link
ip addr
cat /etc/network
cat /etc/dhcp
cat /etc/sqm
ifstatus wan
tc -s qdisc
dmesg
logread
for any diagnostics?
With the cpuI ran into a ton of issues. I wasn’t sure which type to run and I initially wanted to run an 9700k but ultimately went with the pentium G4400 for latency performace. I ordered a used HP prodesk 600 g2 from ebay and after what I assume was the motherboard wiping and or corrupting the drives - hard drive, flash drive, solid state drive and not detecting the operating system I moved the cpu into another spare dell system I had which shared the same intel h110 chipset.
For ram its just I think it has 8gb ddr4 that shipped from dell.
For the nic I believe it was @jeff f who pointed out the counterfeit intel parts are widespread and I ended up ordering about 5 different nics. 4 intel and 1 broadcom. One of the intel nics was a counterfeit and the seller refunded the product. I have the INTEL I350-T2 in it right now but also used the Intel EXPI9402PT PRO/1000 and EXPI9400PT PRO/1000.
Basic cheapo dell psu.
I started with the distribution. As @moeller0 asked at the beginning and I did not really specify, what would be the outcome of a linux+cake build. To have a minimal system as possible and given the options of either buildimage with openwrt or a linux build I started with the linux build to be able to get the system up quicker as with the previous posts building an image on x86 may have had some problems. I went with ubuntu server 14.04. Here I also had a ton of trouble with getting services to run or commands to run. I did not have the prior knowledge of linux to troubleshoot and I spent over a week just getting the system to link. But what will be will be and alas it is up and running and the process to build a linux router is as such:
Install upstart
sudo apt-get install upstart
Install SSH server
sudo apt-get install openssh-server
Install editor - VIM
sudo apt-get install vim-nox
Install network manager
sudo apt-get install network-manager
Install ifconfig
sudo apt-get install net-tools
Disable keyboard reboot
sudo vim /etc/init/control-alt-delete.conf
comment out:
exec shutdown -r now “Control-Alt-Delete pressed”
Additional commands:
Service controls:
sudo /etc/init.d/service_name start|stop|restart|status
System directories:
cat /etc/var/syslog
cat /etc/var/kern.log
cat query-errors
cat /etc/var/chron
cat /etc/init.d
cat /lib/systemd/system
cat /etc/systemd/system
Packages:
sudo which (package)
sudo dpkg -l
sudo apt list --installed
Services:
sudo top
sudo initctl list
sudo service --status-all
NETWORK
Configure network
sudo vim /etc/network/interfaces
# The local loopback adapter
auto lo
iface lo inet loopback
# The network interface
auto eth0
iface eth0 inet dhcp
# The local network interface
auto eth1
iface eth1 inet static
address 10.1.10.1
netmask 255.255.255.0
dns-search example.com
dns-nameservers 10.1.10.1
Bring up interfaces
sudo ifdown interface & sudo ifup interface
Check routes
sudo ip route show
Update install, add contrib + non free
sudo vim /etc/apt/sources.list
sudo apt-get update
sudo apt-get upgrade
Enable ipv4 forwarding
sudo vim /etc/sysctl.conf
Uncomment:
#net.ipv4.ip_forward=1
Start service
sudo sysctl -p /etc/sysctl.conf
Helpful commands
sudo ifstatus interfaces
sudo lshw -class network
cat /proc/sys/net/ipv4/ip_forward
FIREWALL
Configure /etc/rc.local
sudo vim /etc/rc.local
Begin with minimal ruleset:
#!/bin/bash
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
exit 0
Make executable with
sudo chmod 755 /etc/rc.local
Reboot
sudo reboot
After getting the system functional continue to harden the firewall.
DHCP & DNS
Install isc DHCP
sudo apt-get install isc-dhcp-server
Configure Interface
sudo vim /etc/default/isc-dhcp-server
Add eth1 to:
INTERFACES=””
Configure isc
sudo vim /etc/dhcp/dhcpd.conf
# minimal sample /etc/dhcp/dhcpd.con
default -lease-time 600;
max-lease-time 7200;
subnet 10.1.10.0 netmask 255.255.255.0 {
range 10.1.10.50 10.1.10.200;
option routers 10.1.10.1;
option domain-name-servers 10.1.10.1;
option domain-name “mydomain.example”;
}
host abc {
hardware ethernet 00:00:00:00:00:00;
fixed-address 192.1.2.3;
}
host abc{
hardware ethernet 00:00:00:00:00:00;
fixed-address 192.1.2.3;
}
host abc {
hardware ethernet 00:00:00:00:00:00;
fixed-address 192.1.2.3;
}
Check route
sudo ip route
Restart service
sudo service isc-dhcp-server restart
Stop service
sudo service isc-dhcp-server stop
Start service
sudo service isc-dhcp-server start
Check service
sudo /etc/init.d/isc-dhcp-server status
Check DHCP leases
cd /var/lib/dhcp/
ls -l
cat dhcpd.lease
Install DNS Server
sudo apt-get install bind9
Change forwards to ISP forwards
sudo vim /etc/bind/named.conf.options
Fowarders {
1.2.3.4;
5.6.7.8;
};
Restart Bind9
sudo /etc/init.d/isc-dhcp-server restart
Cake SQM
Get tools
sudo apt-get install build-essential
Install git
sudo apt-get install git
Clone the git repo
sudo git clone https://github.com/tohojo/sqm-scripts
Change directory
cd ./sqm-scripts
Install SQM
sudo make install
Edit config
sudo vim /etc/sqm/default.conf
Start sqm on interfaces - change to your links’ variables in the forementioned
sudo service sqm@eth0 start
sudo service sqm@eth1 start
Or
qdisc cake1: root recnt 2 bandwidth 8500Mbit ack-filter ptm diffserv3 dual-dsthost overhead 30 ptm mpu 68
Reboot
sudo reboot
Useful commands
tc -d qdisc
tc -s qdisc
Ifconfig
ethtool -S (interface)
iptables -L -v -n
sysctl -a | grep net.ip
tcpdump
Sorry the text has to be in code I did not know how to properly add a scroll to the text. As I stated before I did not know whether I was in for building a linux router or a openwrt homebrew on x86. Now that I made one, I figure I will try the other for testing and report the results here.
Tonight I attempted to build an x86 image without success. I am running a liveboot of ubuntu 14.04 on a 16gb flash drive. I had to install python 3. If there are any recommendations to build the x86 image successfully please feel free to educate me. I will probably need to install on a HDD before I can continue the build but am I applying the patches correctly and pulling the files in/putting them in the required areas?
sudo apt install asciidoc bash binutils bzip2 flex git-core g++ util-linux help2man intltool libelf-dev make patch perl-modules wget build-essential libncurses5-dev gawk git libssl-dev gettext unzip zlib1g-dev file python swig time subversion ccache gettext libssl-dev xsltproc zip
sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
cd /usr/src
wget https://www.python.org/ftp/python/3.5.6/Python-3.5.6.tgz
sudo tar xzf Python-3.5.6.tgz
cd Python-3.5.6
sudo ./configure --enable-optimizations
sudo make altinstall
git clone https://git.openwrt.org/openwrt/openwrt.git
cd openwrt
git checkout master
wget https://github.com/openwrt/openwrt/pull/1968.patch
git am 1968.patch
x86: fix sysupgrade for EFI images pr/1968
https://git.openwrt.org/?p=openwrt/staging/ldir.git;a=snapshot;h=16b08944d599db65fb145ca071529fd8f1b7e10f;sf=tgz
x86: add EFI images and make iso images EFI bootable
https://git.openwrt.org/?p=openwrt/staging/ldir.git;a=snapshot;h=042684b07e3e3623ab6a7f7e6f69282b3808b2bc;sf=tgz
grub2: split to grub2 and grub2-efi packages
https://git.openwrt.org/?p=openwrt/staging/ldir.git;a=snapshot;h=c854285ef51d10f71fd66d847cc4ba40c9922107;sf=tgz
firmware-utils: ptgen: add GPT support
https://git.openwrt.org/?p=openwrt/staging/ldir.git;a=snapshot;h=070fa5660942378b2f69d1d5bea772d699feb835;sf=tgz
Extracted the 4 tar folders into ~/openwrt/1968updates.
Created a branch called x86patch.
When the command:
git checkout -b x86patch
Was done it gave an error for 2 patches saying should I dial it back or something? Selected no > continued to next step
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
>>>>>>>>>>>Build failed: Error during writing of configuration.
>>>>>>>>>>620:6;674:4,678:4,689:4,689:4
>>>>>>>>>>>>Fatal error can't write conf.o:no space left on device
CONFIG_BUILD_LOG=y
CONFIG_CCACHE=y
CONFIG_PACKAGE_luci-ssl-nginx=y
CONFIG_PACKAGE_luci-app-sqm=y
make -j2 clean download toolchain/install world
make -j2 clean download world
Also attempted the imagebuilder method suggested by @anomeome to no avail with:
make image PROFILE=GENERIC
make image PACKAGES="pkg1 pkg2 pkg3 pkg4 -pkg5 pkg6"
successfully wrote an img file, dd onto flash drive, bios did not see any bootable device
ubuntu server 14.04.6 didn't work with cake because of 4.4 kernel. So that went out the window, in with Debian 10 and simple.qos was started on <iface> successfully
.
I almost didn't notice but I kept running speed tests and the bandwidth wasn't being limited so I thought hm something is wrong and thus the result was cake was not working. I couldn't tell but I had a hint because there was no cake on tc -s qdisc
just pfifo_fast. Now I have a new interfaces in ip a
so I figure it is working.
On another note, I booted my previously failed openwrt homebrews using the above configs and they seemed to boot with no obvious errors, further testing to come.