I am trying to setup NFS, i have run into some problems with regards to /etc/exports
When the content of my /etc/exports file is this:
/data1 192.168.1.213(rw)
I get this from showmount -e 192.168.1.245
client$ showmount -e 192.168.1.245
Exports list on 192.168.1.245:
client$
But when i have this in my /etc/exports file:
/data1 -alldirs -network 192.168.1.245 -mask 255.255.255.0
/data2 -alldirs -network 192.168.1.245 -mask 255.255.255.0
from here: https://www.netbsd.org/docs/guide/en/chap-net-services.html
I get this from showmount -e 192.168.1.245
client$ showmount -e 192.168.1.245
Exports list on 192.168.1.245:
/data2 192.168.1.245
/data1 192.168.1.245
I can mount data1 and data2 on my client machine (also NetBSD 9.3) but I get permission denied when I try to copy files, mkdir etc
Reading this: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_file_systems/exporting-nfs-shares_managing-file-systems i understand that this is the general format of /etc/exports:
export host(options)
What i would like to achieve is the following: every machine on the network (192.168.1.*) regardless of what user connects can mount whatever mount point NFS on my server (192.168.1.245) offers with read and write privileges
Reading the RedHat documentation I understand that it´s something like:
/data1 host(rw,all_squash,anonuid=1000,anongid=100)
gid and uid is set to match my user named user (non-root)
But I am not sure what to do from here.
I just installed NetBSD 9.3 on an old laptop. It seems to work but I have a hard time setting up the Japanese keyboard in X. I chose a Japanese layout during the installation so the TTY consoles are OK.
But in X though I've tried various tricks, nothing works. I can run this command in the terminal:
$ setxkbmap -model jp106 -layout jp
and it works but I want to do it in the settings (config file or start up script) so I do not need to run a command each time.
Any relevant advice will be welcome.
I just installed NetBSD 9.3 on an old laptop. It seems to work but I have a hard time setting up the Japanese keyboard in X. I chose a Japanese layout during the installation so the TTY consoles are OK.
But in X though I've tried various tricks, nothing works. I can run this command in the terminal:
$ setxkbmap -model jp106 -layout jp
and it works but I want to do it in the settings (config file or start up script) so I do not need to run a command each time.
Any advice will be wecome.
Hello all, I am trying to compile racket from pkgsrc current version.
At a certain point during the compilation process:
I get an error about the fact that it cannot find <ncurses/term.h>
Even though it is actually installed, can somebody help me with this?
Can it be a bug in the Makefile?
I tried on different machines, even just cleanly installed NetBSD machines but the issue is always the same.
As you can see in my screenshots the errors are the following, sorry for not pasting somewhere but i am on a VM with a
almost nothing installed
This post is a bit disjointed, because it was three half-finished drafts and an attempted Music Monday smooshed into one. But I think there’s something cohesive here… if not, we can pretend together. R-right?
You’re so beautiful, but oh so boring;
I’m wondering what am I doing here.
Macs have been my primary work machines for at least the last decade, mostly for Office and a few other proprietary tools on which the professional world depends. I also used to like the Mac, so I had personal Mac laptops before. They were kickarse UNIX workstations in a time when that was becoming rarer.
You get used to the way Apple wants things to work when you’re a macOS user. It’s not like you can grab the OS and put it on another machine; Hackintoshes notwithstanding. Some Apple hardware is striking, and their M chips are so far ahead in performance and battery life it’s embarrassing.
But conversely, you accept certain limitations as being inevitable. Need more ports? A better graphics card? An 11-inch display again? Tough!
It’s also, as I quoted Simply Red above, boring. People are lamenting the recent TiPhone [sic], but the truth is MacBooks and iPhones have been dull iterations of their former selves for years. For someone who used to wake up early to see what the latest PowerBook looked like, I can’t remember the last Apple Keynote I bothered watching.
It’s a bit sad.
🌲 🌲 🌲
Anyway, for years I’d ignored the rows of PC laptops and desktops whenever I’d walk into a large retail store. I only buy personal FreeBSD and NetBSD notebooks used, and it’s not like any of these new laptops in a store can run macOS, so I tuned them out.
I’d almost forgot just how much variety the PC ecosystem has, from manufactures to product ranges. Strolling through the PC section of JB Hi-Fi took me right back to my childhood, when I’d pour over price lists and hoarded copies of PC Magazine to get technical specifications to figure out exactly the one to save my precious pocket money and after-school jobs for.
Don’t get me wrong, most PCs are still rubbish. Crappy keyboards, low-resolution screens with poor colour, cheap plastic bodies, underpowered specs, tinny speakers, poorly-placed webcams, unresponsive trackpads, and chintzy designs. People like to mock Apple for being expensive, but there’s no question its baseline of quality is far above what PC makers churn out. That’s a grim indictment of the PC industry given how little Apple cares about the Mac thesedays.
But then out of the fray of mediocrity come a few standout devices. I was bewitched by an Asus laptop which has a proper second screen embedded above the keyboard, and a trackpad to the side rather than below. It didn’t ape Apple’s chicklet keyboard, and it’s industrial design was like nothing I’d seen before. It was trying something different, to great effect. Tech is cool!
The computer industry hadn’t become boring, I just thought it had.
By Ruben Schade in Sydney, 2023-09-20.
I've been involved with the OpenBSD ports collection since 2015, and have accumulated some notes on the topic over the years. This is an attempt at doing a redacted version, mostly for my personal use. While some of these notes are specific to the OpenBSD Ports Collection, most of them will also apply to the others BSDs and Linux distributions.
It will come at no surprise that distfiles are at the core of the problem domain. The ports system fetches distribution files, most often tarballs, verifies their checksum and starts building programs. In order to be able to reliably build packages from the source tarballs, we need both availability and integrity.
Because MASTER_SITES can be down, either temporarily or permanently, each of the BSD maintains their own distfiles mirrors, or caches.
As a rule of thumb though, MASTER_SITES (or nowadays simply SITES) should not be set to point to ftp.openbsd.org, mostly because there is sometimes no guarantee that the files will be cached there forever, and also to avoid putting unnecessary load on the server. To remedy this, some porters maintain their own distfiles hosting sites.
For checking distfiles integrity, each BSD uses a different combination of cryptographic hashes:
OpenBSD and FreeBSD both use SHA256, while NetBSD uses BLAKE2s and SHA512. The hashes are stored in a file called distinfo.
Here is an example from OpenBSD's distinfo for binutils:
SHA256 (binutils-2.41.tar.bz2) = pMS+wFL3uDcAJOYDieGUN38/SLVmGEGOpRBn9nqqsws=
SIZE (binutils-2.41.tar.bz2) = 37132937
And another excerpt from NetBSD's Pkgsrc distinfo for binutils:
BLAKE2s (binutils-2.41.tar.bz2) = bd20a803c6f86632b62e27fce2cb07eb0ee4aa06fb374d80c8ba235568466dd2
SHA512 (binutils-2.41.tar.bz2) = 8c4303145262e84598d828e1a6465ddbf5a8ff757efe3fd981948854f32b311afe5b154be3966e50d85cf5d25217564c1f519d197165aac8e82efcadc9e1e47c
Size (binutils-2.41.tar.bz2) = 37132937 bytes
Checksums can fail because there was a network failure while downloading the source file, or because the file itself changed.
If the distfile changed, there can be several causes:
Re-rolling tarballs can happen for software which is not versioned, or when upstream try to fix minor issues not long after a release, without issuing a new one in order not to have to bump version numbers.
For the last possible cause, this has been a problem with GitHub auto generated tarballs in the past. More information can be found in sthen@'s "Porters, please read re GitHub auto-generated tarballs vs releases" post on the ports mailing list back in 2018.
In January 2023, GitHub updated the Git version they are using on their platform. Because Git switched to use their internal gzip implementation for generating tarballs, this resulted in the generated tarballs having different checksums. The change has quickly been reverted.
Each durable checksum failure will require maintainers to spend time analyzing changes to ensure there has not been any malicious changes happening.
Ideally, distfiles should be as small as possible to prevent wasting bandwidth when fetching and CPU cycles when unpacking content. Unfortunately, that's not always the case because some projects do vendor dependencies, and everyone has to pay the cost.
I was wondering if the guides been updated to include NetBSD 10 beta for the PowerBook g4 Mac's.
I can't use keyboard type my username and password to login to my system, but it works fine with NetBSD, any idea?
I've done a "Minimal" installation of NetBSD 9.3 from the ISO image, just to examine the behavior of one particular command (mktemp
) as it differs from Linux.
I'm not seeing man pages for… really anything; not even man man
works. Cursory searches of the Guide, r/NetBSD on Reddit, and the netbsd-users mailing list archives have not turned up anything helpful.
I also ran pkgin search man
thinking there might be a man-pages
or manpages
binary package, but all I saw was a package for Linux man pages.
How do I get the man pages for the basic, built-in stuff after finishing a "Minimal" installation of NetBSD?
This post is dedicated to Benedict Reuschling, who encouraged me to write about this again! Danke :).
I saw this question floating around the socials recently, and it got me thinking where I started. It was tricker to answer than I thought, though I was able to trawl through the archives to find some info.
My first BSD was Red Hat Linux. You read that right: practically every Linux distribution has BSD-licenced code, and they depend on tooling like OpenSSH from the OpenBSD project for secured administration. I like to point out examples like this whenever a GPL advocate claims their licences are necessary to ensure freedom. Pity that importing into a GPL’d project is a one-way transaction.
2009: Installing Linux for the first time
Taking a step closer to what the question really meant, my first BSD-like OS was Darwin in its Aqua clothing. Like FreeBSD upon which its userland was based, early versions of Mac OS X defaulted to tcsh(1) for user shells. I got pretty good at scripting in it, despite the indignant suggestions such actions were considered harmful! I’ve been on oksh(1) for the last few years, but I still harbour tremendous affection for the C Shell family.
ksh(1) is a nice seque into NetBSD; I believe 2.0? It was the first BSD OS I installed myself from scratch, because their PowerPC port was so easy to get running on my iBook G3. It’s where I also learned about pkgsrc, which I still run to this day on systems I administer. NetBSD remains a staple on my vintage computers, including a SPARCStation and my beloved Pentium 1, the first PC I built myself as a kid. It also runs a cloud server I maintain for personal projects.
2009: Trying pkgsrc on my MacBook Pro
2010: My HiME NetBSD desktop background whatnot
The first FreeBSD version I ever tinkered with was 6.1, when I got it running in a series of Parallels and VMware Fusion VMs on my then-new Intel MacBook Pro. Much of the early history of my blog detailed my adventures learning about open source desktop environments, window managers, Xorg, and building a FreeBSD desktop. It was a lot of fun.
2006: Parallels Desktop FreeBSD issues
2006: Haruhi dancing on FreeBSD?
2007: FreeBSD boleh!
Funnily enough, it wasn’t until the FreeBSD 7.x branch when I first installed it on a server, at the time an old Athlon XP I used as a Netatalk box. Am I the first person to come to FreeBSD in serverland via desktops instead of the other way round? Not sure!
I’ve tinkered and build Dragonfly BSD and OpenBSD systems out of curiosity since, though I’ll admit I’ve spent more time on the OpenSolaris-derived illumos since. It’s long time I give them a proper try too.
By Ruben Schade in Sydney, 2023-09-12.
Welcome to Suntember! I saw a few people mention this on Mastodon, and I thought it was a great idea.
View all posts tagged SPARCStation 5
We’re starting this series here with this gorgeous Sun SPARCStation 5 which has taken pride of place under the monitor on my retrocomputing table. I took it outside for some better SUN light. AAAAAAAAAAH! Thank you.
This machine was graciously given to me by Mike here in Australia, one of the sweetest people I’ve ever met. I made a remark that I adored pizzabox computers and used one of these machines in the Sun lab at university, and he literally drove up from Melbourne to Sydney to give me one. I still can’t believe it all these months later.
Bremen Saki
social.chinwag.org/@mike
I’ve had a proper history of this beautiful box in my drafts folder for a while; I’ve been waiting on some better lighting kit to detail the internals properly. In the meantime I want to show this specific connector located on the back in the first slot:
This is a 13W3 (or DB13W3) video connector, with my ISA OAK card above it for comparison. It’s clearly larger than the 9-pin CGA/EGA D-Sub connector, and it has far more prominant pins than VGA!
13W3 connectors were ubiquitous on high-end workstations from the likes of Sun and SGI… another company who’s machines I badly wanted as a kid. The prominant RGB pins almost act as mini coax connectors, which reduced colour signal interference at the higher resolutions professional demanded. I do remember seeing a professional monitor with BNC connectors that broke out standard VGA signals into separate colours and chroma/luma, but 13W3 was certainly more elegant.
Shortly after receiving this box from Mike, I scoured my tubs of components and found a SGI DB13 to DVI-A connector. The latter carried analogue signals, which meant I could daisy-chain a passive DVI to VGA connector to it, and connect it to my NEC LCD. It didn’t work alas, because as I learned after the fact, Sun and SGI used subtly different pinouts. I since sent this connector to long-time reader Rebecca for one of her SGI Octanes.
This leads us to where I am today.
What has since proceeded is a comedy of errors with regards to shipping. I found a store that had one official Sun adaptor left, which I bought and had lost in the post. I found a store selling an aftermarket one, which I was soon refunded for because they couldn’t find it in their warehouse. A third connector also never arrived, though fortunately that time I learned to pay for insurance. Eventually I found a seller on AliExpress offering a new adaptor, which I’ve just ordered. I expect this to be eaten by a sea monster.
Mike graciously preloaded NetBSD onto this machine for me, so I can SSH in! But I can’t wait to see it too. When I do, it’ll be in a post :).
By Ruben Schade in Sydney, 2023-09-10.
$ libreoffice
javaldx: Could not find a Java Runtime Environment!
Warning: failed to read path from javaldx
/usr/pkg/libreoffice-7.4.1.2/lib/libreoffice/program/libvcllo.so: Shared object "libtiff.so.5" not found
I've noticed the new beta isos are considerably larger than previous releases. Will this be bad for old hardware/platforms?
Just discovered a nice curses front-end for pkgsrc/pkgtools in repo, pkg_select by @iMil. Unfortunately the project seems abandoned. My limited testing suggests it's still worth a try though.
The POPCAKE airport lounge pancake maker
@Omegatron Via Twitter
I love these things so much that I looked into getting one, but it turns out: a) they are rather expensive machines and b) they use an expensive premix packet that goes in the top, gets squeezed out like a tube of toothpaste and only lasts a few days once it’s opened :(
Darn! I assumed it was a resovoir of sorts, that anyone could pour batter into. I wonder how hackable it is? Could I put NetBSD on it, and attach a funnel?
I guess I’ll put this alongside the Mitsubishi JetTowel, Tennant ride-on floor polishers, and rackmount 10G switches as commercial devices I’d love to have for home, but it’s probably for the best that I can’t. Or… could I?
By Ruben Schade in Sydney, 2023-09-04.
Hi all,
I'm now trying to port gopsutil to NetBSD, and there is a IOCounters
function to be ported, which is expected to fetch detailed io stats, like total reads/writes count/bytes, for each disks. It can be achieved by /proc/diskstats on Linux, and hw.diskstats
on OpenBSD. But I couldn't find a equivalent on NetBSD. iostat
looks promising but its outputs are quite limited and insufficient for this port need.
Hackaday ran a story about Vim with some interesting history. I knew the late Bram Moolenaar had started the project on the Amiga, though I didn’t know the history of the original code going back to Tim Thompson’s Stevie on the Atari ST, and the ports made by Tony Andrews. I swear the world is conspiring to get me into buying a 520 or 1040ST.
On Vim, Modal Interfaces And The Way We Interact With Computers
It did have this one tidbit though:
Vim is still the editor you’ll usually find installed by default on Unix, BSDs, Linux distributions and others, whether in its vi-compatibility configuration or full Vim glory.
I get what the author is saying here, but it’s not strictly true.
They’re right that most Linux distributions include Vim in vi-compatibility mode, but the BSDs don’t have Vim by default. Instead they use their own variants of nvi, itself based on elvis. While not strictly compatible with the original vi, it’s arguably closer in functionally than Vim.
I taught myself how to use it back in 2010. I do like Vim’s niceties, but I’ve come to just use nvi on FreeBSD and NetBSD servers I maintain. Why not, if BASE ships with it by default?
And for the sake of completeness, illumos ships with the original BSD vi, as I learned from browsing their hosted manpages:
By Ruben Schade in Melbourne, 2023-09-02.
Dear NetBSD buddies
I need help on how to build a rump kernel on linux.
The rumprun github repo and forks do not seem to build any more.
As an alternative, is building applications into rump kernels supported from within NetBSD?
If so some hints and links will be highly appreciated.
I have a fpc (free pascal) with msegui widgetset application that compiles ok on OpenBSD. It runs perfectly when launched from terminal. But if 2xclick on the binary in the window manager, the app launch and freezes directly and 100% of the cpu is used, I have to kill the process. This also for a simple only form without anything inside.
How to debug this because using gdb, it acts like a terminal and then no problem, no freeze nor perpetual loop.
Does it exist a tool to run before the 2xclick on the binary to analyze what causes that perpetual loop?
For info, this problem occurs also for NetBSD but is ok for FreeBSD, Linux and Windows.
A little short today but still good links.
localhost$ sudo ifconfig vio0 create
ifconfig: clone_command: Invalid argument
ifconfig: exec_matches: Invalid argument
Spleen 2.0.0 has been released, with full support for CP437 (IBM PC) encoding in the 8x16, 16x32, and 32x64 versions.
It required a large effort and represents 135 commits since Spleen 1.9.3 which resulted in almost 90 new characters in the previously mentioned sizes.
A lot has happened since the 1.0.0 release back in September 2018:
Spleen's README now has a trivia section listing all the operating systems and programs where the fonts have been embedded or bundled in.
But let's go back to the newly announced release and focus on the recently introduced changes.
Here is a screenshot of the CP437 version of 16x32:
This is an important milestone as it allows nice things like having a DOS version of Spleen. It is implemented as a COM file changing the font to Spleen 8x16, and has been tested both in DOSBox and on FreeDOS.
Here is "L'Étranger" from Baudelaire using Spleen on an ASUS Eee PC running FreeDOS:
On top on that, Spleen is now also available in libansilove since version 1.4.0 and in Ansilove since version 4.2.0, making it possible to render ANSI art using a modern font.
And with this out of the way, I can now start working on the next Spleen milestone, which I hope to be able to announce in a not so distant future... Stay tuned!
I'm new to using NetBSD but I've set it up on a VM and am currently in the process of running through a few package installations. From what I understand this is done via setting the PKG_PATH variable and then using the pkg_add utility, however I'm getting a "Forbidden" error message when I try to install any package.
$ PKG_PATH="http://cdn.NetBSD.org/pub/pkgsrc/packages/$(uname -s)/$(uname -m)/$(uname -r|cut -f '1 2' -d.)/All/"
$ export PKG_PATH
$ pkg_add tmux
pkg_add: Can't process http://cdn.NetBSD.org:80/pub/pkgsrc/packages/NetBSD/amd64 /7.1/All//tmux*: Forbidden
pkg_add: no pkg found for 'tmux', sorry.
pkg_add: 1 package addition failed
I've visited the URL and the package does exist, also it does this for any package I try to install. From what I can tell the networking on the machine is fine so I'm a bit stuck as to where to go from here. Any suggestions?
I plan to implement my own version of OpenBSD's common address redundancy protocol (CARP) https://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol, an alternative to virtual router redundancy protocol (VRRP). Where to find its specification document for implementation?
I try to set up a connection to a openLDAP server running on NetBSD 10 via TLS and SASL. When I try ldapsreach -Y EXTERNAL
I get
ldapsearch: not compiled with SASL support
and
ldd /usr/bin/ldapsearch
shows also no info about sasl-Libs. This site says, that NetBSD has its own SASL-implementation for openLDAP, but I guess this will not fix the "not compiled whith SASL" thing (and until now, I'm unable to find the docs for this implementation). Any ideas, to get me back on track? Where to start?
I’m glomming all BSD and not-BSD into these roundup posts. I don’t think they need to be separate.
I have a very old AirPort Extreme, the A1408. Is it possible to install Linux on it, using the AirPort functionally as a hard disk, and then boot from that? I have also heard that AirPorts run NetBSD. Can you boot into that and run commands?
In my "Capturing text screens on modern operating systems" article published back in 2013, I mentioned finding a very promising program called Qodem. It has since reached maturity and version 1.0 was released in 2017. I have been enjoying it on a regular basis to reminisce about the glorious days of using Terminate and Minicom in the nineties, and even packaged it in both OpenBSD and NetBSD.
Qodem has built in support for SSH, and also lets you spawn a local shell and SSH from there, which allows authentication using SSH keys.
For the purpose of this article, I used two Fedora machines and installed the ckermit and lrzsz packages to handle the Kermit and ZMODEM protocols respectively. There is a qodem package as well, but it only bundles the X11 binary. I prefer to use the curses version, so I built it from source.
And from there, let the fun begin:
C-Kermit 9.0.302 OPEN SOURCE:, 20 Aug 2011, for Linux (64-bit)
Copyright (C) 1985, 2011,
Trustees of Columbia University in the City of New York.
Type ? or HELP for help.
(/home/fcambus/) C-Kermit>send NetBSD-9.3-amd64.iso
Return to your local Kermit and give a RECEIVE command.
KERMIT READY TO SEND...
9 S~/ @- SENT: [/home/fcambus/NetBSD-9.3-amd64.iso] To: [netbsd-9_3-amd64.iso] (OK)
(/home/fcambus/) C-Kermit>
Here is our Kermit transfer in action:
For transfering files using ZMODEM, we use sz from the lrzsz package:
sz NetBSD-9.3-amd64.iso
And here is our ZMODEM transfer in action:
There is something quite special about seeing ZMODEM transfers reach speeds close to 600 MBit/s. It's hard to explain.
For the record, I used the following script to take screenshots in burst mode and then create an animated GIF:
while true; do
gnome-screenshot -w;
done
Lastly, if you enjoy watching those glorious progress bars, you might also enjoy my "File transfers via the parallel port on DOS using LapLink" post from last year, which served as the inspiration for this one.
I would like to know how i could log SSH command lines a user is using on a server. For exemple, if the user Alex on my server is doing the following set of commands :
$ cd /tmp
$ touch myfile
$ ssh [email protected]
$ ssh [email protected]
$ vim anotherfile
$ ssh [email protected]
I would like to log the ssh commands used on the server in a file which looks like :
[2014-07-25 10:10:10] Alex : ssh [email protected]
[2014-07-25 10:18:20] Alex : ssh st[email protected]
[2014-07-25 11:15:10] Alex : ssh [email protected]
I don't care what he did during his ssh session, i just want to know WHEN and TO WHERE he made a connection to another server.
The user is not using bash and i would like to avoid manipulating .bash_history anyway as the user can modify it.
Any clue on this ?
Thank you :)
edit : to be more specific :
a user connects to a server A and then connects from the server A to server B. I want to track down to which server he connects through ssh from server A.
This is the seventh post in my toolchains adventures series. Please check the previous posts in the toolchains category for more context about this journey. There was no Q4 2022 report as there wasn't really anything worthwhile to write about, only some usual Pkgsrc and OpenBSD toolchains related ports updates.
In Pkgsrc land, I updated binutils to the 2.40 version, mold to the 1.9.0, 1.10.0, 1.10.1, and 1.11.0 versions, patchelf to the 0.17.2 version, and finally pax-utils to the 1.3.6 and the 1.3.7 ones. I also updated the NetBSD system call table in GDB to add the eventfd(2) and timerfd(2) syscalls which were added back in 2021.
Regarding OpenBSD, I updated binutils to the 2.40 version and enabled the build of gas, for which I also pushed support for ARM upstream. While there, I added support upstream for the PT_OPENBSD_MUTABLE segment type to readelf. Lastly, I packaged and imported pax-utils into the ports collection.
In early February, I attended FOSDEM 2023 in Brussels and had the opportunity to attend some talks in the LLVM devroom as well as some toolchains related ones in the RISC-V and Binary Tools devrooms.
Lately, I've been exploring using alternative linkers in Pkgsrc. By default, the host system default linker will be used, which happens to be GNU ld on NetBSD and most Linux distributions.
Thanks to work done by pho@ and the instructions he posted on the tech-pkg mailing list, it was already possible to use mold within Pkgsrc, by adding these directives in the etc/mk.conf configuration file:
LD= /usr/pkg/bin/mold
LDFLAGS+= -Wl,-L/usr/lib
CWRAPPERS_PREPEND.cc+= -B/usr/pkg/libexec/mold
CWRAPPERS_PREPEND.cxx+= -B/usr/pkg/libexec/mold
I wanted to also try using LLD (the LLVM linker), and modified the devel/lld package to add a symlink in ${PREFIX}/libexec so that it can be used in Pkgsrc.
While mold can be used as a linker when using both GCC and Clang, for LLD one must use Clang as a compiler, using the PKGSRC_COMPILER directive. The reason for this is that LLD does not support the -dc and -dp options.
The following directives must be added in the etc/mk.conf configuration file:
PKGSRC_COMPILER= clang
LD= /usr/pkg/bin/lld
LDFLAGS+= -Wl,-L/usr/lib
CWRAPPERS_PREPEND.cc+= -B/usr/pkg/libexec/lld
CWRAPPERS_PREPEND.cxx+= -B/usr/pkg/libexec/lld
Verifying that a binary was produced by mold or LLD can be done using readelf.
On the mold binary linked with mold itself:
readelf -p .comment mold
String dump of section '.comment':
[ 0] mold 1.10.1 (compatible with GNU ld)
[ 25] GCC: (NetBSD nb1 20220722) 10.4.0
[ 47] GCC: (nb1 20220722) 10.4.0
And on the lld binary linked with LLD itself:
readelf -p .comment lld
String dump of section '.comment':
[ 0] clang version 15.0.7
[ 16] Linker: LLD 15.0.7
[ 29] GCC: (NetBSD nb1 20220722) 10.4.0
As usual, I’ve also been busy reading different material, and adding new resources to toolchains.net.
That’s all for now, happy Spring 2023 everyone!
binutils and GDB commits:
2023-03-23 | 80251d4 | Add support to readelf for the PT_OPENBSD_MUTABLE segment type |
2023-03-17 | 152d9c4 | Update the NetBSD system call table to add eventfd(2) and timerfd(2) |
2023-01-20 | 2e17538 | Add OpenBSD ARM GAS support |
LLVM commits
2023-03-19 | 8510cf9 | [compiler-rt] Add missing #else clause to fix the build on NetBSD |
2023-03-16 | 245f26a | [docs] Document "PGO" (Profile-Guided Optimization) in the lexicon |
2023-03-15 | d8df871 | [compiler-rt] Point UndefinedBehaviorSanitizer link to its own page |
2023-02-10 | 5cec69b | [clang] Update Clang version from 16 to 17 in scan-build.1 |
Does FreeBSD, NetBSD, or OpenBSD have an encryption feature like Linux's dm-crypt? And will it work for a system partition?
I didn’t know what Moonlight and Sunshine are, but Moonlight at least is on NetBSD.
FOSDEM took place last week-end, as an offline-first event again for the first time since 2020. It was located as usual at the university campus of the ULB in Brussels. It was packed with developers, users, passionate and professionals of Open Source software, and while NetBSD did not have a booth this year, its presence could be felt on Saturday morning at the BSD DevRoom thanks to the many developers who made it to the conference.
Together with Rodrigo Osorio of the FreeBSD project, I had the pleasure to help manage the DevRoom, have a front seat for the talks, and even start the session by introducing the BSD Driver Harmony initiative.
The staff and respective speakers are currently busy uploading slides and reviewing videos, so keep in mind to check again for new content in the coming few days and weeks if you missed anything or need to dig further into any event from this awesome conference!
Finally, I would like to thank the NetBSD Foundation for sponsoring me to manage the room and attend the GSoC meet-up.