Blink-based Low End VMs?

Not_OlesNot_Oles Hosting ProviderContent Writer
edited January 18 in Technical

Reference: https://github.com/jart/blink
See also: https://news.ycombinator.com/item?id=33675462

Is it too crazy to imagine that Low End VMs could be blink-based?

# Clone, compile, and test blink
tom@ultra:~ $ date
Sun Jan 18 20:43:13 UTC 2026
tom@ultra:~ $ uname -rs
FreeBSD 16.0-CURRENT
tom@ultra:~ $ git clone https://github.com/jart/blink.git
Cloning into 'blink'...
remote: Enumerating objects: 11448, done.
remote: Counting objects: 100% (2618/2618), done.
remote: Compressing objects: 100% (255/255), done.
remote: Total 11448 (delta 2471), reused 2363 (delta 2363), pack-reused 8830 (from 2)
Receiving objects: 100% (11448/11448), 19.77 MiB | 34.96 MiB/s, done.
Resolving deltas: 100% (6032/6032), done.
tom@ultra:~ $ tom@ultra:~ $ cd blink
tom@ultra:~/blink $ ./configure # Not yet using --enable-vfs (see note below)
  [ . . . ]
tom@ultra:~/blink $ gmake -j 4
  [ . . . ]
cc -pthread -Wl,-z,noseparate-code -Wl,-z,norelro -Wl,-z,common-page-size=65536,-z,max-page-size=65536 -pie  -Wl,--image-base=0x23000000  o//blink/blinkenlights.o o//blink/blink.a  -L/usr/local/lib -lunwind -L/lib -lz -lrt -lm  -o o//blink/blinkenlights
cc -pthread -Wl,-z,noseparate-code -Wl,-z,norelro -Wl,-z,common-page-size=65536,-z,max-page-size=65536 -pie  -Wl,--image-base=0x23000000  o//blink/blink.o o//blink/blink.a  -L/usr/local/lib -lunwind -L/lib -lz -lrt -lm  -o o//blink/blink
touch o/ok

Your Blink Virtual Machine successfully compiled:

  o//blink/blink
  o//blink/blinkenlights

You may also want to run:

  make check
  doas make install

tom@ultra:~/blink $ cd o/blink
tom@ultra:~/blink/o/blink $ ls -l blink blinkenlights
-rwxr-xr-x  1 tom tom 2767368 Jan 18 20:49 blink
-rwxr-xr-x  1 tom tom 3149200 Jan 18 20:49 blinkenlights
tom@ultra:~/blink/o/blink $ ./blink -v
Blink Virtual Machine 1.1.0 (Sun Jan 18 20:49:28 UTC 2026)
Copyright (c) 2023 Justine Alexandra Roberts Tunney
Blink comes with absolutely NO WARRANTY of any kind.
You may redistribute copies of Blink under the ISC License.
For more information, see the file named LICENSE.
Toolchain: FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2)
Revision: #621 f006a4fc6f9b8de9272504fdff0dbbe5ce5dc580
Config: ./configure MODE= 
tom@ultra:~/blink/o/blink $ ./blink /home/tom/blink/third_party/cosmo/tinyhello.elf
hello world
tom@ultra:~/blink/o/blink $ 

From the jart/blink README.md :

If you want to run a full chroot'd Linux distro and require correct handling of absolute symlinks, displaying of certain values in /proc, and so on, and you don't mind paying a small price in terms of size and performance, you can enable the emulated VFS feature by using the following configuration:

./configure --enable-vfs

I hope everyone gets the servers they want!

Thanked by (1)tmntwitw

Comments

  • Good lordy almighty! Thank you @msatt for finding my way to this post!

    I'm currently working on a project that involves a few hundred low consumption boxes of the following specs:
    Quad-core ARMv7 1.2GHz (RK3299) (ARM Mali-400MP2)
    8GB ROM + 1GB RAM
    Ethernet 10/100

    Thanks to Armbian's good efforts, I managed to get all the boxes running their amazing OS, and this is the MOTD on the one I have inside my house right now:

        _             _    _                                         _ _        
       /_\  _ _ _ __ | |__(_)__ _ _ _    __ ___ _ __  _ __ _  _ _ _ (_) |_ _  _ 
      / _ \| '_| '  \| '_ \ / _` | ' \  / _/ _ \ '  \| '  \ || | ' \| |  _| || |
     /_/ \_\_| |_|_|_|_.__/_\__,_|_||_|_\__\___/_|_|_|_|_|_\_,_|_||_|_|\__|\_, |
                                     |___|                                 |__/ 
            v26.2 rolling for rk322x-box running Armbian Linux 6.12.63-current-rockchip
    
            Packages: Debian stable (trixie)
            Support: for advanced users (rolling release)
            IPv4: (LAN) 192.168.3.37 (WAN) 126.34.xxx.xxx 
            IPv6: [oopsies], [wow!], [lots of ipv6 huh], [another!?], [lord] (WAN) [last one]
    
            Performance: 
    
            Load: 2% Uptime: 4 days, 20 hours, 2 minutes Local users: 2 
            Memory usage: 17% of 972M 
            CPU temp: 55°C Usage of /: 45% of 7.0G 
    
            Commands: 
    
            Configuration : armbian-config
            Monitoring : htop
    
            Last login: Mon Jan 19 19:49:17 2026 from 192.168.3.6
    
            yucchun@rk3229:~$
    

    These idle at around 2-3W, and peak 7.5W
    They come at a hefty cost of $6/p including shipping from a local supplier that heard me out too much, directly to a rack I own with KDDI here in Japan.

    I'll take a peek onto Blink and share my findings here!

  • edited January 20

    redacted

    We're the source, no cap. Address us: We/Our/Ours.

    https://lowendspirit.com/discussion/comment/221016/#Comment_221016

Sign In or Register to comment.