/* Note:
* IP_ECN_set_ce() has to tweak IPV4 checksum when setting CE,
* meaning both changes have no effect on skb->csum if/when CHECKSUM_COMPLETE
* In IPv6 case, no checksum compensates the change in IPv6 header,
* so we have to update skb->csum.
*/
120 static inline int IP6_ECN_set_ce(struct sk_buff *skb, struct ipv6hdr *iph)
121 {
122 __be32 from, to;
124 if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
125 return 0;
127 from = *(__be32 *)iph;
128 to = from | htonl(INET_ECN_CE << 20);
129 *(__be32 *)iph = to;
if (skb->ip_summed == CHECKSUM_COMPLETE)
skb->csum = csum_add(csum_sub(skb->csum, from), to);
return 1;
}
Turris only works with target system “Marvel Amada 37x/38x/XP” and target profile “Turris Omnia”. There is an script called compile_omnia_fw at the root of your buidl tree this configures and builds everything. I suggest you start with that and modify things afterwards.
Thank you! I was thinking that defaults would be setuped by defconfig or something (didnt realized that turris isnt only omnia, duh). I will follow you lead. Hope that omnia_fw script leaves proper omnia .config after run, so I will be able add custom package(s) and compile via usual make…
I don’t know about this error in particular, but I’ve had some problems building it, too.
Try using Ubuntu 14.04 Trusty.
I used Debian Jessie and had multiple problems like this.
After I switched to Ubuntu in a LXC container, there was just one little problem left:
The GIT client is compiled with GnuTLS, what is a problem for downloading some sources.
To compile it with OpenSSL: https://gist.github.com/pescobar/6ae5634f92d75d23c36a
I am compiling in the same virtual machine (Xubuntu 14.04). I am compiling OpenWRT images just fine… So I am thinking the problem will not be the OS itself…
Yeah, I guess Ubuntu and Xubuntu shouldn’t be that much different.
I don’t know if that is important, but I used a 64bit system.
And like I said, I used a fresh Ubuntu installation (in a LXC container).
I assume that it just means that this package should be compiled as module. But I am not sure why avahi compilation failed. I wouldnt say that it would be marked as stable, if there are missing some dependencies…
Let me explain the branches a bit. That stable doesn’t necessarily means everything is OK there. It just means it is not the branch with active development. Every time we release a „big“ update, we reset the stable branch to whatever we released, continue the development elsewhere and use the stable branch to prepare fixes for „small“ updates (like security fixes, really annoying bugs and such).
And yes, you hit a moment when I’m trying to do a workaround to something updater-related and some packages give me a hard time. I just pushed something I believe should fix this, but I’m still waiting for confirmation from the build machine.
If you want something that did build for us for sure, you can either look for the tags (these are the points of big releases) or go to https://api.turris.cz/openwrt-repo/omnia/git-hash, which is always the one currently released to public.
As for the script, it compiles multiple targets (there’s the firmware itself, but also a rescue system). I’m not 100% sure which one is compiled last, so the .config left after compilation might be from something else. However, the script should be able to tell you how it is constructed.
hats off hurzhurz, you had right from the start.
vorner, thanks for explanation. building again If I will be succesfull, I will document all steps as closure to this topic, to be avaible to others tryin the same thing and without those informations as I was.
Edit:
I checkout git-hash,
Documents/turris-os$ git log
commit 3d81b3c906b3f5be01981f828041010512dcfd5b
Author: Michal Hrusecky <michal.hrusecky@nic.cz>
Date: Tue Nov 1 15:21:01 2016 +0100
If it is not a mandatory package for you you can run make menuconfig disable it run the usuall make -j8 or so. Build an btrfs root.tar.gz and put that file on an usb stick renamed to omnia-medkit-latest.tar.gz. Plug the stick in the front usb port and press the reset button till four led’s light up. It should then install that image to the router.
git clone -b stable-omnia https://gitlab.labs.nic.cz/turris/openwrt.git
cd openwrt/
git reset --hard 3d81b3c906b3f5be01981f828041010512dcfd5b(change to the last stable commit)
git log
My observation: Turris Omina team seems to be very week in writing documentation. If any of you read this - you should not only do what you enjoy like coding and tweaking! Spare some time on what’s also necessary - write, update and maintain the documentation for the end user!
Thanks a lot. After some gnutls handshake issue - solved by recompiling git with openssl - I finally sucessfully compiled turris omnia. Now I am trying to compile vncrepeater. Thanks a lot!
Thanks for posting this. It helped me build it. I only had one minor modification that I needed to work around. Instead of sudo /media/user/VBOXADDITIONS_something_/VBoxLinuxAdditions.run
I did this: sudo apt-get install virtualbox-guest-dkms
After that, I built it once, it failed, and then I built again with -j1 V=s and it successfully built.
This is just a note for people trying to build Turris on macOS. You may run into OpenSSL missing problem. The solution is to add the following lines to your .bashrc