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.