Hacker News new | past | comments | ask | show | jobs | submit login

> If it would run on Linux, you could at least use a newer Linux and it still should work

No, because if the same guys would be coding for GNU/Linux, it would mean a closed source binary compiled against a very old C library that most likely wouldn't even start in modern GNU/Linux.

Or try to access kernel features, drivers or pathname that no longer exist in modern distributions.

Using *BSD or GNU/Linux for laboratory hardware doesn't mean that the code is made available, or even if it is, it is cost effective to pay someone to port it.

Many of those XP systems have actually code available, at least in life sciences, just labs don't want to pay to port the code to new systems.




I think most C libraries are binary backwards compatible. But even if not, you could just use the old C library for that application and it should work - I don't see why it should not.

Also the Linux kernel should always be backwards compatible.

You could also place any missing files.

Even if that is all too complicated, you could just use an old Linux distribution or Linux kernel and backports patches for yourself, although not sure if that is easier.

What I'm saying is, it's good to have the choice and option to do that.

Of course, like you say, if you have that option but just don't do it because it takes time / money to do it, then that is your choice.


> I think most C libraries are binary backwards compatible. But even if not, you could just use the old C library for that application and it should work - I don't see why it should not.

If dynamic linking was used, the entry points might have been moved, the syscalls have changed, bugs are were being taken advantage of were fixed.

If static linking, the calls into the kernel might have changed or data read from /etc, /dev or other type of expectations from target OS.


> If static linking, the calls into the kernel might have changed or data read from /etc, /dev or other type of expectations from target OS.

No, Linux takes binary compatibility seriously. I can run statically linked binaries from 1992 on a modern system just fine.


I doubt it very much, specially since ELF was not even a thing in 1992 distributions with kernel versions still in the 0.x.y range.

ELF was being slowly introduced in 1994, with Slackware 2.0 being one of the first distributions to support it.

http://www.linuxjournal.com/article/1059

So I really really doubt you can pick a static executable compiled against kernel 0.x.y, using a.out format and execute it in Ubuntu 16.04 LTS as example.

Actually, I just need to take the dust out of my Walnut Creek CD's to prove my point.


You can run a.out executables on Linux just fine. Not sure if Ubuntu ships with a.out support or not, but that is really irrelevant.


Nice how you avoided the issue of running code targeted for 0.98.1 (latest kernel release in 1992) against kernel 4.4.z.

Not to mention how disparate the file system structure, including device drivers, of something like Yggdrasil Linux 1.0 is compared with modern distributions.

As I said, easily verified by dusting off Walnut Creek CD's and picking a random binary from them.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: