Build for Debian MIPS

Maria Matějka maria.matejka at nic.cz
Sat Apr 4 01:42:58 CEST 2020


Hello!

I've just replicated the bug via the proot approach. Thank you a lot for your help!

Maria 

On April 2, 2020 1:47:32 PM GMT+02:00, Clemens Schrimpe <clemens.schrimpe at gmail.com> wrote:
>Hallo all -
>
>I built BIRD (1.x and 2.x) for the EdgeRouter platforms(!) myself for
>many years now and I still do. At first I used a "proot" environment
>with QEMU on a Ubuntu environment, but I have moved on to compiling it
>directly on the machines in question a while ago. EdgeRouters
>(especially the "XG" or "Infinity" types) have more than enough CPU and
>RAM to do it there, it's just the "local storage" and the way their
>firmware is updated, which prevents you from "just doing it".
>
>The solution is simple, though: Current EdgeOS versions support the
>USB-Port on those routers and you can just plug in a cheap thumb drive
>or even a real SSD/HD with a USB-Interface. Format it with ext3/ext4,
>mount it to /mnt for example, clone the current OS onto it, like so:
>
>	rsync -aAXv
>--exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/root.dev/*"}
>/ /mnt/
>
>create shadow-mounts for the special kernel filesystems:
>
>	mount --rbind /dev  /mnt/dev
>	mount --rbind /proc /mnt/proc
>	mount --rbind /sys  /mnt/sys
>
>and now you can chroot into your development environment:
>
>	chroot /mnt /bin/bash --login
>
>and (bonus track) even start an sshd within this environment for easier
>access later:
>
>	mkdir /var/run/sshd /run/sshd	# may fail on either
>
>	/usr/sbin/sshd -p 222 -o Protocol=2
>
>which runs on port 222 now (vs. the "normal" sshd, running on port 22).
>
>Depending on the EdgeOS Version (1.x or 2.x) you install additional
>packages need for development. Here are some suggestions
>(non-comprehensive):
>
>Packages for 2.x:
>
>wget
>git
>build-essential
>autoconf
>locales-all
>cscope
>ncurses-dev
>libssl-dev
>libev-dev
>liblzo2-dev
>libpam-dev
>minizip
>flex
>bison
>libperl-dev
>libreadline-dev
>libpcre3-dev
>libpcap-dev
>libldap-dev
>libtalloc-dev
>libcap2-dev
>libmemcached-dev
>libjson-c-dev
>libgdbm-dev
>libsqlite3-dev
>libssh-dev
>libssh2-1-dev
>
>binutils manuell nachinstallieren! (dpkg -i ...)
>
>
>------
>
>Packages for 1.x:
>
>
>autoconf
>locales-all
>cscope
>ncurses-dev
>libssl-dev
>libev-dev
>liblzo2-dev
>libpam-dev
>flex
>bison
>libperl-dev
>libreadline-dev
>libpcre3-dev
>libpcap-dev
>libldap-dev
>libtalloc-dev
>libcap2-dev
>libmemcached-dev
>libgdbm-dev
>libsqlite3-dev
>libssh-dev
>libssh2-1-dev
>
>Why am I doing this on this "shadow root" again? Because every EdgeOS
>update wipes everything, except for /config (which is why I place my
>compiled "modules" (binaries), like BIRD, into /config/opt/bird/... for
>example → ./configure -prefix=/config/opt/bird .
>
>This has been working very well for me in a while and I am compiling
>all sorts of tools all the time within this "Build jail". 
>
>Tools needed to start this off (mkfs, rsync, etc.) are either already
>on the platform or can be installed through the officially supported
>"apt-get" mechanism.
>
>The above was quickly copy&pasted together from what I have on my
>terminal windows right now and and is surely lacking a step or two
>along the way, sorry. Please feel free to ask for more detailed
>instructions if you get stuck somewhere.
>
>Greeting,
>
>	Clemens
>
>PS: If you want to cover the whole EdgeRouter platform you'll need to
>do this twice - once on an ER-Pro/ER-Infinity and once on an ER-10X
>(the only X-router with an open USB port), as the former is MIPS-BE and
>the latter is MIPS-LE ... yes, all of these can somehow be "emulated",
>but I just found it much easier to create/operate/maintain those build
>environments on their respective native platforms - besides: They are
>incredibly cheap - even the Infinity router (8 x SFP+, 116 CPUs - 16G
>RAM - bored beyond belief) is comparatively cheap.
>
>> We've not been able to build ourselves on MIPS yet, we went into some
>strange problems last time (don't remember exactly). Were you so kind
>please and could you please help us setting up Debian for MIPS in QEMU
>if I fail to manage it once more?
>> The main issue was, what hardware to choose and how to boot it. But
>I'll try once more before asking any detailed question. Then we can
>replicate your issue and probably even build and test for MIPS.

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20200404/d702be81/attachment.htm>


More information about the Bird-users mailing list