VyOS 1.2.0 build for 586?

Progress update: I now have a working i386 architecture ISO build that boots up correctly on VirtualBox and allows me to login using the vyos/vyos username and password. Woohoo! :grinning:

I am still trying to work through some problems with the kernel build configuration but I will start submitting some Pull Requests.

1 Like

Wooho! That is really awesome work you have done.

Any chance of a how to or a download of the build?

I am really close to giving up on getting a proper build for 586 working.

I have had a lot of trouble trying to get the kernel to build with the configuration that I provided. I had to patch kernel-package to get the kernel to build (see bug #890817). But even then there are weird problems with the kernel configuration getting changed during the build - something to do with make synconfig getting called, I think.

I asked on Stack Exchange but nobody responded:

A previous attempt at building for i386 is here. I has a 686 kernel - which may work fine:
https://www.aelius.com/njh/tmp/vyos-1.2.0-rolling+201901312136-i386.iso

The SHA1 is: 870ab8bd42a0036c2a717a34ab2daffebad2547c

I didn’t realise that you can buy a second-hand 64-bit nettop PC on eBay so cheaply - so I am really close to giving up on i386 and doing that…

1 Like

Turns out, the image isn’t compiled with serial output… how would I go about adding it? Im using an i686 box (Old Firebox X700) it was working flawlessly with 1.1.8, but just wanted to update

What error are you seeing?

I am running it on an PC Engines ALIX board, that only has a serial console and no VGA…

Scratch that, also works flawlessly on the Firebox. apart from the DMA errors

1 Like

I’m getting this, no probs whatsoever, 1.1.8 did the same, it just takes a longer time to boot. However, I haven’t seen any issues at the moment with your image as according to me its i686, perfect for the firebox. I’ve pasted the entire dmesg boot log at the bottom.

[ 0.106372] ACPI BIOS Error (bug): A valid RSDP was not found (20180810/tbxfroot-210)
Loading, please wait…
[ 38.242585] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[ 38.326956] ata1.00: failed command: READ DMA
[ 38.379147] ata1.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in
[ 38.379147] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[ 38.554045] ata1.00: status: { DRDY }
[ 68.943815] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[ 69.028228] ata1.00: failed command: READ DMA
[ 69.080430] ata1.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in
[ 69.080430] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[ 69.255334] ata1.00: status: { DRDY }
[ 99.663815] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
[ 99.748226] ata1.00: failed command: READ DMA
[ 99.800439] ata1.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in
[ 99.800439] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[ 99.975335] ata1.00: status: { DRDY }
mdadm: No arrays found in config file or automatically
mount: mounting /dev/sda on /live/persistence/ failed: No such device

Welcome to Debian GNU/Linux 8 (jessie)!

     Expecting device dev-ttyS0.device...

[ OK ] Reached target Remote File Systems (Pre).
[ OK ] Reached target Paths.
[ OK ] Set up automount Arbitrary Executable File Formats F…utomount Point.
[ OK ] Reached target Encrypted Volumes.
[ OK ] Reached target Swap.
[ OK ] Created slice Root Slice.
[ OK ] Created slice User and Session Slice.
[ OK ] Listening on /dev/initctl Compatibility Named Pipe.
[ OK ] Listening on Delayed Shutdown Socket.
[ OK ] Listening on Journal Socket (/dev/log).
[ OK ] Listening on udev Control Socket.
[ OK ] Listening on udev Kernel Socket.
[ OK ] Listening on Journal Socket.
[ OK ] Created slice System Slice.
[ OK ] Created slice system-getty.slice.
[ OK ] Created slice system-serial\x2dgetty.slice.
Starting Increase datagram queue length…
Mounting Huge Pages File System…
Mounting POSIX Message Queue File System…
Starting Create list of required static device nodes…rrent kernel…
Mounting Debug File System…
Starting live-config contains the components that co… userspace)…
Starting udev Coldplug all Devices…
[ OK ] Reached target Slices.
[ OK ] Mounted Debug File System.
[ OK ] Mounted POSIX Message Queue File System.
[ OK ] Mounted Huge Pages File System.
[ OK ] Started Increase datagram queue length.
[ OK ] Started Create list of required static device nodes …current kernel.
[ OK ] Started udev Coldplug all Devices.
Starting Create Static Device Nodes in /dev…
[ OK ] Listening on Syslog Socket.
Starting Journal Service…
[ OK ] Started Journal Service.
[ OK ] Started Create Static Device Nodes in /dev.
[ OK ] Started live-config contains the components that con…te userspace)…
Starting udev Kernel Device Manager…
[ OK ] Started udev Kernel Device Manager.
Starting Copy rules generated while the root was ro…
Starting LSB: MD array assembly…
Starting LSB: Set preliminary keymap…
[ OK ] Started Copy rules generated while the root was ro.
[ OK ] Found device /dev/ttyS0.
[ OK ] Started LSB: MD array assembly.
[ OK ] Started LSB: Set preliminary keymap.
Starting Remount Root and Kernel File Systems…
[ OK ] Started Remount Root and Kernel File Systems.
Starting Load/Save Random Seed…
[ OK ] Reached target Local File Systems (Pre).
Mounting /tmp…
[ OK ] Started Load/Save Random Seed.
[ OK ] Mounted /tmp.
[ OK ] Reached target Local File Systems.
Starting Create Volatile Files and Directories…
Starting LSB: Change system config parameters based …onfiguration…
Starting LSB: live-tools - System Support Scripts…
[ OK ] Reached target Remote File Systems.
Starting Trigger Flushing of Journal to Persistent Storage…
Starting LSB: Prepare console…
[ OK ] Started Create Volatile Files and Directories.
[ OK ] Started LSB: live-tools - System Support Scripts.
Starting Update UTMP about System Boot/Shutdown…
[ OK ] Started Update UTMP about System Boot/Shutdown.
[ OK ] Started Trigger Flushing of Journal to Persistent Storage.
[ OK ] Started LSB: Prepare console.
Starting LSB: Set console font and keymap…
[ OK ] Started LSB: Set console font and keymap.
[ OK ] Started LSB: Change system config parameters based o… configuration.
Starting Load Kernel Modules…
[ OK ] Started Load Kernel Modules.
Starting Apply Kernel Variables…
[ OK ] Started Apply Kernel Variables.
Starting LSB: Raise network interfaces…
[ OK ] Started LSB: Raise network interfaces…
[ OK ] Reached target Network.
[ OK ] Reached target System Initialization.
[ OK ] Listening on UUID daemon activation socket.
[ OK ] Listening on D-Bus System Message Bus Socket.
[ OK ] Reached target Sockets.
[ OK ] Reached target Timers.
[ OK ] Reached target Basic System.
Starting Entropy daemon using the HAVEGE algorithm…
[ OK ] Started Entropy daemon using the HAVEGE algorithm.
Starting LSB: Cleans up pppoe peers files…
Starting VyOS Router…
[ OK ] Started VyOS Router.
Starting Deferred execution scheduler…
[ OK ] Started Deferred execution scheduler.
Starting Regular background program processing daemon…
[ OK ] Started Regular background program processing daemon.
Starting Restore /etc/resolv.conf if the system cras…s shut down…
Starting OpenBSD Secure Shell session cleanup…
Starting /etc/rc.local Compatibility…
Starting Login Service…
Starting LSB: QEMU Guest Agent startup script…
Starting LSB: Start the GNUstep distributed object mapper…
Starting LSB: Monitor for system resources and process activity…
Starting D-Bus System Message Bus…
[ OK ] Started D-Bus System Message Bus.
[ 133.476851] vyos-router[836]: Loading capability module if not yet done.
Starting System Logging Service…
Starting Permit User Sessions…
[ OK ] Started LSB: Cleans up pppoe peers files.
[ OK ] Started Restore /etc/resolv.conf if the system crash…was shut down…
[ OK ] Started OpenBSD Secure Shell session cleanup.
[ OK ] Started /etc/rc.local Compatibility.
[ OK ] Started LSB: QEMU Guest Agent startup script.
[ OK ] Started LSB: Start the GNUstep distributed object mapper.
[ OK ] Started LSB: Monitor for system resources and process activity.
[ OK ] Started Permit User Sessions.
[ OK ] Started System Logging Service.
[ OK ] Started Login Service.
Starting Getty on tty1…
[ OK ] Started Getty on tty1.
Starting Serial Getty on ttyS0…
[ OK ] Started Serial Getty on ttyS0.
[ OK ] Reached target Login Prompts.
[ OK ] Reached target Network is Online.
Starting strongSwan IPsec IKEv1/IKEv2 daemon using swanctl…
Starting LSB: Brings up/down network automatically…
[ OK ] Started LSB: Brings up/down network automatically.
[ 136.984370] vyos-router[836]: 2003/10/29 00:21:03 warnings: ZEBRA: [EC 4043309105] Disabling MPLS support (no kernel support)
[ 143.344431] vyos-router[836]: starting staticd since zebra is runningExiting from the script
[ 143.455424] vyos-router[836]: Mounting VyOS Config…done.
[ 178.623728] vyos-config[929]: Configuration error
[ 179.632629] vyos-router[836]: Starting VyOS router: migrate rl-system firewall configure failed!

Welcome to VyOS - vyos ttyS0

vyos login: vyos
Password:
Linux vyos 4.19.12-i386-vyos #4 SMP Thu Jan 31 20:32:49 GMT 2019 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
vyos@vyos:~$

Just wanted to say we appreciate your efforts to holding on to the 32 bit just a lil bit longer. I will fire it up in Virtual box and check it out as well…

Thanks again!!

hi. quick question… I tried testing one of the latest, most prized option… wireguard, but it appears the module isn’t included. Is there a quicky way to include it without a complete rebuild?

------------reply from trying to generate wireguard kp ---------------
run generate wireguard keypair

modprobe: FATAL: Module wireguard not found.
Traceback (most recent call last):
File ā€œ/usr/libexec/vyos/op_mode/wireguard.pyā€, line 83, in
check_kmod()
File ā€œ/usr/libexec/vyos/op_mode/wireguard.pyā€, line 38, in check_kmod
raise ConfigError(ā€œmodprobe wireguard failedā€)
vyos.base.ConfigError: modprobe wireguard failed

I don’t really need much for my installations… but this one would be really cool. I hope it isn’t a support nightmare.

Thanx

What version do you run? Your kernel is missing wireguard.ko. That issue has been fixed now for quite a while.

Hi… I am running the above… build for i686… so it isnt one of the standard 1.2 rolling builds… Thanks for checking up on me though…

Yeah, I have had some trouble getting the kernel build to work.
It is very likely that the wireguard module didn’t build/install correctly.

I have used a (later) Firebox X750e for a number of years. The boot process was greatly sped up by editing /boot/grub/grub.cfg and adding ā€œlibata.force=PIO4ā€ on the various linux lines. Maybe it applies to the earlier x700 as well. In the case of the x750e, the kernel was trying various methods to read the CF card boot device, and PIO4 was eventually successful, but it took a while for the other methods to time out. This command line made the kernel jump to the right method right away. Hope this helps.

Also, you can make the LCD work by (manually) adding the lcdproc package from the Debain repos, and configure it to use the sdeclcd driver. You can then run the lcdproc client to show a big clock, CPU graphs, etc.

Beautiful, that solved the DMA issues. thank you so much! LCDproc and whatnot I already had working - compile from source and add the SDECLCD driver.

lcdproc is now included in the rolling images and will be in crux as well.

I’m curious about the outcome of your effort @njh ? Can you tell us some more about the kernel compile you did for your installation and how you approched this? Moreover, can you provide us with a .config file for the kernel compile? I have the same Alix board and would also like to give it a shot.

Sadly I had to give up on this. I had spent far too much time on it with just getting a working build (even x86-64) and didn’t seem to be getting much closer to having a predictable build and usable system.

While I did have VyOS 1.2.0 sort of building, it wasn’t the right kernel, which probably resulted in other problems.

I couldn’t get past a problem where the Kernel build system was ignoring my choice of architecture/kernel configuration and replacing it with a default one:

I actually have a APU2 board as my ā€˜production’ router - but currently still running pfSense.
I was trying to use my 586 ALIX2 board has a testing system for getting VyOS working.
It was suggested that you can get cheap x86-64 nettops on eBay for testing with. So if I have another go at getting VyOS working, I will try that.

@njh Oh thats sad to hear. My setup looks pretty same compared to yours, having and APU2 in production running as well. Did you try compiling a custom kernel/build for this board as well?

No, not tried running it on a APU2 (that would require some downtime!).

But I would assume that a standard build should work and wouldn’t require a custom kernel/build.