Podchaser Logo
Home
2.5 Admins 179: Y2K NotOK

2.5 Admins 179: Y2K NotOK

Released Thursday, 25th January 2024
Good episode? Give it some love!
2.5 Admins 179: Y2K NotOK

2.5 Admins 179: Y2K NotOK

2.5 Admins 179: Y2K NotOK

2.5 Admins 179: Y2K NotOK

Thursday, 25th January 2024
Good episode? Give it some love!
Rate Episode

Episode Transcript

Transcripts are displayed as originally observed. Some content, including advertisements may have changed.

Use Ctrl + F to search

0:01

Two and a half admins, episode 179. I'm Joe. I'm

0:05

Jim. And I'm Alan. And here we are again.

0:07

And you've got another plug

0:09

for us, Alan. Open ZFS best

0:11

practices, part two, file serving and

0:13

SANS. Yeah. So as we break

0:15

down the use cases for ZFS and some of

0:17

the best practices, we talk about two of the

0:19

most popular use cases, which is

0:21

serving files, typical sample, file server, NFS, that

0:24

kind of thing, and storage

0:26

area networks, machines designed specifically for

0:28

storage to other machines in

0:30

a dedicated network. Right. Well,

0:32

Lincoln, the show notes as usual. Over

0:35

the holiday, I saw a bit of chatter on Mastodon

0:37

about Y2K. And then recently

0:39

there was a piece on the register that nothing

0:42

happened Y2K bug, how the

0:44

IT industry worked over time to save

0:46

the world's computers. And I think

0:49

it is worth reminding people that

0:51

Y2K was not this big

0:53

nothing burger. It was actually

0:55

potentially a very serious thing.

0:57

And a lot of very

0:59

hardworking IT professionals prevented a

1:02

disaster effectively by working really

1:04

hard. Yes, there is a

1:06

lot of meat in that

1:08

particular burger. When Y2K

1:11

came down, I was 28 and still a

1:13

relatively larval system administrator

1:16

working as an IT manager for a construction

1:18

company. And in that

1:20

role, I didn't have to do too much

1:22

personally as far as, you know, fixing Y2K

1:24

issues, but I installed one hell of a

1:27

lot of software updates and patches. And

1:30

even after installing innumerable

1:32

updates and patches to operating systems and

1:34

applications and you name it, I

1:37

still, despite the fact that I was just

1:39

a little larval form IT manager in South

1:42

Carolina, I still ran into a couple of

1:44

things that I had to personally fix when

1:46

I discovered that they were doing things like showing dates

1:48

as, you know, the year 20,100. Because for those

1:51

of you who

1:54

didn't live through Y2K, it

1:57

might not hurt to get a quick primer on

1:59

the market. on the way the dates were

2:01

actually stored because it seems a little counterintuitive from

2:03

a modern development sense. From a

2:05

modern sense you might think, oh, okay, so you

2:07

want to store two numbers. You want to store

2:09

a month and a day, and you want to

2:12

do it cheaply because you have a little bitty

2:14

computer, so you're going to use two integers for

2:16

that, right? No, no, unfortunately. We didn't do it

2:18

in two bytes with two integers. Instead, we did

2:20

it with four character values. So

2:22

you had a character for the tens place and

2:24

the one place for the month, and a character

2:27

for the tens place and another one for the

2:29

ones place for the days. The

2:32

way that they would deal with it when

2:34

the year rolled past 1999, keep in mind

2:36

they're only

2:38

storing the nine and the nine, some

2:41

systems would decide that it was 1900 all over again. Others

2:44

would, like I said, you would end up with a date like 20,100 because

2:47

your 99 would actually

2:51

roll over to 100, but

2:55

it would then get tacked on in front of

2:58

the existing date. It was

3:00

nuts. Yeah. The thing that made

3:02

it such a big deal is it wasn't necessarily the

3:04

operating system was going to stop working. It was all

3:06

the custom software that companies ran on, especially back in

3:08

the 90s. There was

3:11

less off-the-shelf software, and you didn't have software

3:13

as a service where you were using some

3:15

website to do stuff. Companies

3:17

brought their own software, hired people and write

3:19

their own software to manage their specific use

3:21

case. If all of those

3:23

had this problem of, we started the year as two digits and it's going

3:26

to roll over and it's either going to be 1900 or 19,100 or all

3:28

the different possible options, we're not

3:33

going to be able to take requests or things are going to sort

3:35

the wrong way. The newest orders are going

3:37

to show up at the bottom before the

3:39

very first order from 20 years ago and all

3:41

this kind of stuff. It's just

3:43

going to make business hard to do or impossible. It

3:47

all had to be fixed. You mentioned sorting issues,

3:49

and yes, sorting issues were absolutely a

3:51

common problem, but I also want

3:53

to remind all you younger folk in this case

3:56

that actually includes Allen. So

3:58

far, we're basically talking about... relatively high

4:01

level x86 code that

4:03

probably isn't going to show worse issues

4:05

than like sorting problems. But

4:07

you also have to remember you

4:10

know this was 24 years ago.

4:12

Programming you know defense and depth

4:15

was a much less developed concept

4:17

back then. People just didn't

4:19

give much thought to trapping for errors anywhere

4:21

that they didn't expect an error. And you

4:23

already know they didn't expect an error in

4:26

the date code because they stored it that

4:28

way in the first place. They've been

4:30

thinking ahead then Y2K wouldn't have been an

4:32

issue. So you're talking about an untrapped error

4:34

and the thing about untrapped errors is you

4:37

don't know what they'll do and sometimes the

4:39

consequences can be a lot more severe. Now

4:42

if you're working with a relatively high

4:44

level language even untrapped it's still probably

4:46

going to devolve to what amounts to

4:48

an error code. But remember again the

4:51

hardware was also 24 years older.

4:54

So you had to get a lot more done

4:57

on vastly less powerful hardware than you

4:59

do now which means a lot

5:01

more software was coded directly

5:03

on the bare metal. We

5:06

still had operating systems that

5:08

weren't even preemptive multitasking. Where

5:11

all code was effectively ring zero

5:13

given direct access to the hardware

5:15

and if there was any multitasking

5:17

your app was actually expected to

5:19

itself say okay I'm

5:21

done with a CPU you can have it. So

5:24

this should give you some idea of just

5:26

how badly things might crash when you have

5:28

an untrapped error at this low level. You

5:30

might not just be talking about a funny

5:32

looking date on the screen. You

5:34

very genuinely in many cases could be

5:36

talking about entire devices crashing completely. Yeah

5:38

or firmware updates weren't necessarily a thing.

5:41

Some of those things were not reprogrammable.

5:43

So if you wanted to update the

5:45

firmware on the device to fix this

5:47

problem you either needed a logic programmer

5:49

thing or to literally close the chip

5:51

and put in a different one. I

5:54

had to buy an EPROM puller. Yep. And

5:57

to think that this problem is solved in. behind

6:00

us is folly as well. The

6:03

way Unix and Linux count time is

6:05

counting the number of seconds since January

6:07

1st, 1970 UTC. And

6:10

that works great. Often turns out, coming up in the

6:12

year 2038, that

6:14

number will be too big to store as a 32-bit integer and

6:18

will overflow and will be back

6:20

to a negative number. And while

6:23

64-bit computers maybe use 64-bit time for

6:25

that, all

6:27

your x86 32-bit stuff, which there's a

6:31

lot of doing things like controlling oil

6:33

pipelines, might just freak out.

6:35

Oh, and you'd better believe there is

6:37

a ton of 64-bit code out there

6:40

that still declared 32-bit integers for that

6:43

value. It turns out this same

6:45

problem has come up a lot sooner.

6:47

For example, certain software, instead of

6:50

using seconds for that counter, does

6:52

hundreds of milliseconds. And

6:55

so when you just multiply the number a bit, it

6:57

turns out you can hit that overflow every 24 days.

7:00

Ask Boeing about that. Go read

7:02

the FAA's procedures. If you're using certain

7:05

classes of engines with the Boeing engine

7:07

management, it has to be rebooted every

7:09

21 days. Because at

7:11

24 days, it will crash when the integer

7:13

they were using to count the number of

7:16

milliseconds or deci-seconds of

7:19

uptime will overflow and it will crash. 2038

7:23

is not that long away. No. No, it's not. And

7:25

here's the thing that I've been waiting to just, the

7:27

hand grenade I've been waiting to lob into the room.

7:30

We're acting like it only becomes a problem in

7:32

2038. But

7:34

it actually becomes a problem the minute you

7:36

need to store a date in a database

7:39

of that format that is 2038 or later.

7:42

And I promise you, there are enterprises out

7:44

there that are planning things

7:47

farther out than 2038 right now. Yeah.

7:49

And whether it's even like when a contract expires,

7:52

when a credit card number expires, sometime

7:55

in the early 2030s, people are going to have credit cards that

7:57

expire in 2038. Banks are

7:59

certainly already. issuing mortgages that are going to go on

8:01

for a lot longer than 2038. Yep.

8:03

But also things like driver's licenses, passports.

8:06

You get a passport for 10 years.

8:10

2028 is only a couple years away where somebody's going to have

8:12

a passport that doesn't expire until after the

8:14

magic date in 2038. So is

8:16

this being worked on yet then in

8:18

any significant way? Yes. On

8:20

the 64-bit side, this is

8:22

mostly not a problem, unless

8:24

the programs are emulating 32-bit.

8:27

But the amount of hardware that's

8:29

still i386 basically

8:31

is surprising. There's a lot of

8:34

embedded stuff, especially controlling oil pipelines

8:37

and factories, embedded stuff. And a lot of

8:39

this hardware has a life cycle of 20

8:41

or 30 years. So we would have needed

8:43

to fix it in the past to not

8:45

have it be a problem. So there's a

8:47

lot of hardware that's going to have to

8:49

be ripped out and replaced then. Yeah. Not

8:51

necessarily. Not necessarily. But it's going to depend.

8:54

Even if you've got 32-bit hardware, that doesn't

8:56

mean that you can't have a 64-bit integer.

8:59

Typically, you can absolutely have a 64-bit

9:01

integer on a 32-bit platform. The issue

9:03

is just that it is computationally more

9:05

expensive to manipulate. Whether that's

9:07

a problem or not is going to depend on

9:09

what you're doing with that number, how frequently, and

9:12

how powerful the hardware you're using is.

9:15

Yeah. Because the problem internally

9:17

still has to be represented as two 32-bit numbers. And

9:20

you have to access them atomically, making sure that somebody

9:22

else is in the middle of incrementing one half or

9:24

the other while you're trying to read it and that

9:26

you read both halves from kind of the same time.

9:29

And it's much more expensive, yes. It's

9:31

more expensive, but it is worth pointing

9:33

out. Although it's more expensive to operate,

9:36

depending on your language, it's usually not going

9:39

to be that big a deal for you

9:41

to implement. You're just saying, hey, I want

9:43

to declare this as a 64-bit int. And

9:45

that's all you really need to do. You

9:47

just may need to be aware that that

9:50

can have impacts, depending on how frequently you're

9:52

using these values. If you're

9:54

on really low-powered hardware. Now, even

9:56

if we're talking like a Raspberry Pi or

9:58

whatever, you're fine. where this could

10:00

potentially become an issue is on like embedded

10:03

embedded stuff with less powerful

10:05

like MIPS controllers or way

10:08

less powerful armor or risk

10:10

five stuff. Well, the other problem though

10:12

is this is part of

10:15

application binary interface. So

10:17

when an application calls the kernel and says

10:19

get time of day, it expects

10:21

back a certain data structure. And

10:24

you can't change the size of that

10:26

without the application. So all the applications

10:28

have to be recompiled to expect a

10:30

64 bit number instead of a 32

10:32

bit number and that breaks all application

10:34

compatibility. And that's why when previously

10:36

was looking at solving this, it

10:38

was basically well, we can make a new

10:40

set of images that are like I 3d6

10:43

underscore 64 bit time or something like that

10:45

and offer this as a different

10:48

architecture. Basically. Create

10:50

as if it was a different kind of

10:52

CPU because all existing applications

10:54

wouldn't actually be compatible. They'd have to be

10:56

recompiled to understand that that time is

10:58

going to be a different size than you expect

11:01

because it expects to be able

11:03

to jump past the time and get to the value

11:05

after the time. And if it gets into the middle

11:07

of the time instead of the next item, it's going

11:09

to be very confused. The way I'm hearing that issue

11:11

is that keep in mind that you've got to update

11:13

both sides of it because if you're using like get

11:15

time of day, then you need to

11:18

be requesting the same thing the colonel is going

11:20

to give you. So if you've updated your application

11:22

for a 64 bit get time of

11:24

day, then your colonel has to be expecting you to

11:26

request a 64 bit get time of

11:28

day, right? You have to update the two together.

11:30

Otherwise, right? One side of the other will be

11:33

wrong, right? So we

11:35

can presume that anybody who's having to

11:37

work on this 32 bit hardware will

11:40

probably have an option for that. A

11:42

colonel built for that when it comes

11:44

down. We're still mostly looking at from

11:48

the application developer side of things. The

11:50

majority of the work probably boils down to like

11:53

I need to actually be making the proper

11:55

call. Yeah, or I need to

11:57

compile the application to expect the right. size

12:00

of result when I do the call. Right. Hopefully

12:02

the answer will be everything will be 64 bit and

12:05

we can still emulate 32 bit in user space.

12:07

So 32 bit applications will call the kernel and

12:09

the kernel will be like, oh, you're 32 bit.

12:11

Let me truncate that down to 32

12:13

bits for you. But then how are

12:16

they gonna represent the value past 2038? Maybe

12:18

you spin up a new ABI for that. Maybe you have a

12:20

get time of day 64 and

12:23

you just start saying, hey developers, you're

12:26

a scrub if you're still using get time of day, you need to

12:28

be using get time of day 64. Possibly.

12:30

Hopefully we can just get

12:33

rid of most I386 software by then but

12:36

I'm not hopeful of that actually happening. Okay,

12:38

this episode is sponsored by AutoMox.

12:41

Want to be prepared for any shit storm that may

12:43

hit your desk during the workday? Check

12:46

out the brand new Autonomous IT podcast.

12:49

Listen in as a variety of

12:51

experts in the IT operations space

12:53

discuss the latest patch Tuesday releases,

12:55

mitigation tips and custom automations to

12:58

help with CVE remediations. Make

13:00

new work friends. Listen now to

13:02

the Autonomous IT podcast on Spotify,

13:04

Apple or wherever you get your

13:06

podcasts. That's the Autonomous IT

13:09

podcast. Recently on

13:11

late night Linux, we covered

13:13

an article from one of

13:15

your former colleagues, Jim, Andrew Cunningham at Ars

13:17

Technica, what I learned from using a Raspberry

13:19

Pi 5 as my main computer for two

13:21

weeks. And Faelem

13:24

went off on a rant for about five

13:26

minutes and we didn't really

13:28

discuss it much. And then the

13:30

three of us got talking about it in our

13:32

private telegram group. And we decided that we should

13:35

probably take the discussion on air. I

13:37

certainly am happy that, you know, I know that

13:39

Faelem has already just ranted and screamed about this

13:41

for five minutes straight because it means that we've

13:44

gotten that part out of the way and we

13:46

can just discuss the actual article. Otherwise

13:48

I'd need to rant and rave and

13:51

scream for five minutes first. But honestly,

13:53

the first thing that Andrew should

13:55

have said and learned from a week of trying to use

13:57

a Pi 5 as his main computer is that he's not

13:59

very good. Linux. That's not

14:01

really an insult. I know Andrew. I've worked

14:03

with Andrew for years. He's a very sharp

14:06

guy. He's just not really a day-to-day Linux

14:08

user. And he has, for

14:10

a long time, had

14:12

a little bit of blindness about that

14:14

that a lot of Linux users will

14:17

recognize from folks who primarily use a

14:19

single operating system and mistake

14:21

hard for, I don't know this, whereas I know

14:23

this on the thing that I use every day.

14:25

We were specifically talking about the

14:28

second to last paragraph where he

14:30

talks about Linux being a teetering stack of independently

14:32

developed software projects that on a good day just

14:34

barely managed to work together. And then

14:36

he goes on about the ARM version of Linux being

14:39

even less well supported.

14:42

And the thing about that is I

14:44

don't entirely disagree with Andrew's characterization of

14:47

Linux as a teetering stack of software,

14:49

you know, all glommed together. That's, you

14:51

know, just holding together on a good

14:53

day. What I disagree with is the

14:56

idea that this separates it from any

14:58

other modern general purpose

15:00

operating system in 2024 AD.

15:02

They are all decades long

15:04

stacks of cards with, you

15:06

know, differing levels of legacy

15:09

cruft and bugs that were

15:11

never fixed and long forgotten use cases

15:13

that are trying to be supported long

15:15

past their prime. This is everything. It's

15:17

all of it. There's not really a

15:19

huge difference to be found there. And

15:21

to the degree that you do see

15:23

a difference in terms of

15:26

like cruft and is this stuff

15:28

all just barely holding on by its teeth.

15:31

Honestly, I would cast bigger

15:33

aspersions at Windows for that than for

15:35

Linux, because in the open source world,

15:37

whether you're talking about Linux or FreeBSD,

15:40

we do have a certain willingness every few

15:42

years to just chuck a whole bunch of

15:44

things out and say, okay, that crap is

15:46

ancient and we don't support it anymore. Whereas

15:50

Microsoft, given the

15:52

gigantic cash cow that's based

15:54

on the Windows operating system

15:56

has an enormous incentive to

15:58

never completely. throw anything away.

16:01

Yeah, like I've got audio software

16:03

that ran on Windows 20 years

16:05

ago that runs fine on Windows

16:07

11. Try doing that on

16:10

Linux. Right, and possibly even

16:12

worse than that. We've

16:14

already mentioned that Microsoft doesn't ever really want to

16:16

throw things away because it will make somebody who's

16:18

giving them money unhappy if they do. The

16:21

other thing about that is because they never

16:23

throw anything away, they have a really ugly

16:25

tendency to never finish anything either. You

16:28

look at the control panel, it's getting harder and

16:30

harder to find because Microsoft wants you to just

16:32

use the settings app for everything. The

16:35

problem is half of the things in

16:37

the settings app don't work, half

16:39

of the rest don't work as well as what

16:41

was in the control panel, and

16:43

they keep monkeying with the settings app and

16:45

they keep nerfing some of the old apps

16:47

in the control panel to redirect them to

16:50

settings, but there's no one

16:52

place you can go to manage all the

16:54

things that you used to manage in the

16:56

control panel. There are some

16:58

things that you can do in the settings

17:00

app, although you might have a much better

17:03

job of it in the control panel app

17:05

because again, that app kind of sucks, it's

17:07

really half-baked. There are other things

17:09

that now you can't do in the control

17:11

panel either because Microsoft has, as I've mentioned,

17:14

they've been trying to nerf the control panel

17:16

and turn what's in there into redirects to

17:18

settings. So in some cases,

17:20

functionality that you absolutely need that is not

17:22

available in the settings app, you can now

17:24

not find in the control panel either, which

17:26

means you better hope you're running a pro

17:29

version of Windows so that you can fire

17:31

up MMC and then load in the

17:34

applet that you need directly into MMC.

17:37

It's a nightmare. Now, Andrew

17:39

doesn't notice this stuff because Andrew

17:42

has a well-worn path in his

17:44

chosen operating systems. I believe he's

17:46

a Mac person as well as a Windows person and he does

17:48

what he needs to do and he knows how to do it. But

17:51

then you put him in front of a Linux

17:53

box and because he is a technical person and

17:55

a sharp guy, he can make

17:58

it work. He's just... still

18:00

hasn't quite figured out the difference between this

18:02

is hard because I don't know how to do it and

18:05

this is hard because it isn't done well. Yeah,

18:07

and like looking at some of the stuff where

18:09

he was talking about overclocking the Raspberry Pi and

18:11

that making it slightly better. It's like, well, at

18:13

some point you have to realize that it's a

18:15

Raspberry Pi, it is not a high-end laptop. You

18:18

can't compare it to your Apple Silicon Mac

18:20

that you have and expect to

18:22

get the same performance out of this design

18:25

to be as cheap and cheerful as

18:27

possible of Raspberry Pi. That's

18:29

not necessarily the arm is slower

18:31

because the Apple Silicon Mac proves

18:33

that. Arm can be

18:36

really fast. But this particular arm

18:38

is not fast. Exactly. And

18:40

the other point, Andrew made a big

18:42

deal about the arm ecosystem being shakier

18:44

than the x86 ecosystem under Linux. And

18:47

again, he's not wrong there. That's

18:49

a true fact. The thing that's

18:51

wrong is laying the blame for that

18:54

at the operating system's feet when

18:56

a lot of the issues, although I

18:58

suspect he doesn't fully realize this because he's not

19:00

dialed into these details the way that, you know,

19:02

Alan or I are. And in some cases, you

19:04

know, even the way that Joe is, I don't

19:08

think he quite realizes that it's

19:10

not Linux's fault that you can't just

19:12

grab an installation of whatever random distribution

19:14

of whatever operating system and install it

19:17

on any random arm device the way

19:19

that you can do exactly that on

19:21

any random x86 device. That's

19:24

not a Linux failing. That's a very distinct

19:27

change in platform design. Once

19:30

you go over to the arm side of the house, they

19:32

stopped being interested in this glorious

19:35

wide open bazaar that those of us

19:37

in the x86 world have been used

19:39

to now for going

19:42

on four decades. Instead, the

19:44

arm platforms have been implemented

19:46

as very tightly integrated vertical

19:48

stacks. So an operating

19:51

system that will install on one

19:53

Android phone won't

19:55

necessarily install on another one and certainly

19:57

won't necessarily install on a Raspberry Pi.

20:00

5 or a Pine Book Pro, you

20:03

have to have custom stacks for each of

20:05

these devices. But again, that's

20:07

a hardware decision, not a software decision.

20:09

Yeah, the fact that each hardware can

20:11

be completely different. Now on the ARM

20:13

server side, they've tried to solve some

20:15

of this. ARM has a certification process

20:17

called Server Ready. That means

20:19

that this certain baseline of stuff is going

20:22

to be the same no matter what ARM

20:24

server you buy, if it's Server Ready certified.

20:27

And I think we might start to see more of

20:29

that even on the laptop side.

20:32

Although maybe not. When Microsoft builds

20:34

their own ARM hardware to sell

20:36

Windows on, they're not necessarily going

20:38

to be interested in you being able to do other things with

20:40

it. And talking about other stuff

20:42

we talked about in the last couple of weeks, the

20:46

general death of general purpose computing, where you're

20:48

going to buy a device that's for this

20:50

one thing, and that's all it worked for

20:52

and all it's supported on. And you

20:54

wanted to run a different OS on it is your problem,

20:57

not something the industry cares

20:59

about. But on the server

21:01

side, you know, when we get to booting with

21:03

EFI, instead of requiring a different custom U-Boot for

21:05

every different thing of ARM, just the fact that

21:07

ARMv8 is 64-bit and a bit more common. Looking

21:10

at the way FreeBSD dealt with this, back

21:13

when ARMv7 was popular, there was a separate

21:15

image you needed for the banana pie versus

21:17

the Raspberry Pi 1 and 2, which

21:20

are both separate and like the orange pie and

21:22

all these other devices all had to have a

21:24

special custom image just for that one device. Whereas

21:27

at least with ARMv8, there are some generic images

21:29

that will work on most of the devices. But

21:32

even there, it really depends on

21:34

the device. Some devices use ACPI,

21:36

the same BIOS configuration set that

21:38

x86-harbret uses for when the computer

21:40

starts for it to probe and

21:42

see what hardware do I have.

21:45

Whereas especially more of the embedded side of

21:47

stuff on ARM, like the Raspberry Pi, has

21:50

what's called a device tree, which is literally a

21:52

binary configuration file that says, you have these devices

21:54

at these addresses and they're never going to move

21:56

or change because they don't have a

21:58

PCIe slot where you're going to... jamming a card

22:00

that they weren't expecting. And

22:03

understanding those differences is where a

22:05

lot of I think this frustration comes from where

22:07

the arm is not x86, but

22:09

neither is PowerPC. Do people remember there

22:11

are other architectures beyond x86? Well,

22:14

on the consumer side, no, they probably

22:16

don't. Because if you're a Mac person

22:19

who used PowerPC, you probably

22:21

just thought of that as a Mac.

22:23

And when the transition from PowerPC to

22:25

Intel came, you probably just

22:27

thought of that as the new Macs.

22:30

And most of the normal people

22:32

I talk to who have Mac

22:34

M1s, they're not real clear on

22:36

the distinction between M1 and x86 either, other

22:40

than again, to them, it's the

22:43

new Apple stuff that's so much better

22:45

than the Apple stuff they had before

22:47

that. And some of their programs

22:49

need to be a little bit different to run

22:51

their best on the new Apple thing that's better

22:53

than the old Apple thing. But yeah, you're just

22:55

not really delving into

22:58

platform architecture as a normal person. Yeah,

23:00

and while the applications have to be

23:02

compiled for ARM, in general, like especially

23:04

even on Linux side, most

23:06

of the applications aren't going to actually need to

23:08

be changed to work on ARM. They just need

23:10

the packages to be built specifically for ARM and

23:12

the kind of configuration of ARM that the device

23:14

happens to be. And the kind

23:16

of very different versions of ARM

23:18

that are out there do make that a

23:20

little bit more complicated. But again, ARM v8

23:23

versus v7 is really

23:25

avoiding some of that discontinuity

23:28

and fragmentation. Cos Andrew says

23:30

along with the SR Helinix project for Apple

23:32

Silicon Macs, the Pi is probably the best

23:34

and most visible hardware for pushing consumer Linux

23:36

forward into a more usable state. Yeah, and

23:38

I think a lot of this is also

23:40

just shared with General Linux. And I think

23:42

there, the ARM server

23:44

hardware, especially as being used

23:46

by almost every cloud

23:49

provider, like the Ampere stuff

23:51

is used at Google, Microsoft,

23:53

Oracle, Tencent, and a bunch

23:55

of others. And then Amazon has their own, I think Google's

23:57

building their own now as well. But all these different providers

24:00

using deploying huge numbers of ARM servers

24:02

because they'll use less power and be

24:04

able to get similar performance. I've

24:07

got to play with a 160

24:09

core 3 gigahertz ARM machine. You

24:11

know, it can beat the pants off

24:13

something an Intel server or

24:15

an AMD server easily. And you believe

24:18

in trickle-down effect in this

24:20

case? As far as support for

24:22

the hardware and drivers and the

24:24

application ecosystem, to some degree yes.

24:26

That basically any support for ARM

24:28

is better for all support for ARM.

24:31

Especially the differences that are specific to ARM

24:33

are going to be in the operating system,

24:35

the Linux kernel part, and less specific to

24:38

you know the applications you're trying to run,

24:40

right? X11 or Wayland and all that stuff

24:42

doesn't need to be rewritten to work on

24:45

ARM. It just needs to be compiled for

24:47

ARM. Essentially we're talking about some heavy monkeying

24:49

around with make files. It

24:51

is work that needs to be done

24:53

but it's not like rewriting all of

24:55

the software. And I think the

24:58

biggest example of the kind of trickle-down

25:00

effect that Alan's talking about here that you are likely

25:02

to get as a Linux user from

25:04

you know these big Ampere and Graviton servers

25:06

is as more and more people are using

25:09

those things in prod, more

25:11

and more of the applications that you expect

25:13

to use from repositories have somebody going over

25:15

them and doing that work of reconfiguring the

25:17

make files to have the branch

25:19

to build properly for the ARM stuff that is

25:22

at least more likely to translate down

25:24

into whatever consumer ARM device you may

25:26

have. Now where I'm not

25:28

as optimistic as Alan is I don't

25:30

think server ready is making it across

25:32

that barrier onto consumer devices for ARM.

25:35

I think that the people who make ARM

25:37

devices like their tightly integrated vertical stacks, the

25:39

majority of them were already

25:42

going out of their way to

25:44

try to differentiate themselves and break

25:46

interoperability between their devices and other people's

25:48

devices. You know you look at like

25:50

nobody wants to run stock Android on

25:53

whatever phone they built. They want to monkey

25:55

with it and make it look completely different

25:58

and it doesn't have to be better. It

26:00

just has to be different enough to say, oh,

26:02

I know for a fact I'm using a Samsung

26:04

phone right now, you know, not that filthy

26:07

bear Google stuff or, you know, the whatever it

26:09

is that you don't like. Now,

26:11

is that consumer friendly? I happen to think

26:13

it sucks, but I'm also 52 years old

26:16

and I know what corporations do and

26:19

I think they're living their happy little lives right

26:21

now and they're not going to be interested in

26:23

changing that. Now, where I am

26:25

hopeful is I think

26:27

that the entire ARM

26:29

ecosystem, it's got a window and it's

26:33

closing. I think that RISC-V is going to

26:35

come for ARM and I

26:37

think that because of the much more

26:39

open nature of RISC-V hardware, the odds

26:41

that we're going to see consumer devices

26:43

that are more consumer friendly are a

26:46

lot higher on that side. Yes, although

26:48

one thing I'll say for RISC-V is

26:50

I think they have the

26:52

fragmentation problem going even worse. Because

26:55

it's so open, you can build

26:57

a chip with or without each

26:59

of these hundreds of extensions so like you

27:01

can actually have machines that don't know how

27:03

to divide. Like you can build a RISC-V

27:05

processor that just can't do division or,

27:07

you know, have different extensions or work with different size

27:09

integers and so on. And because you

27:11

can choose all these things, you end up with

27:14

a lot more possible combinations and trying to support

27:16

those in the Linux kernel and the FreeBSD kernel

27:18

is already a bit of a pain and

27:21

I think it will make trying to do

27:23

general purpose computing on them maybe more difficult.

27:26

Just that you can't just take any RISC-V device and

27:28

try to just build FreeBSD on it

27:30

and have it work. I think

27:32

there will be a separation between general

27:34

purpose RISC-V devices and embedded RISC-V devices that

27:36

aren't expected to run a full Linux or

27:38

BSD stack. They're only expected to do the

27:41

things they need to do with the hardware

27:43

that they have in them. But

27:45

I don't think that's going to be that

27:47

confusing. I'm more concerned that

27:49

nobody will bother building general purpose computing

27:52

devices at all than I

27:54

am concerned that if we have

27:56

the will to build them, nobody will

27:58

be able to figure out what is or isn't

28:00

a general purpose computing device or be able

28:02

to keep the ones that are designed as

28:04

general purpose devices largely interoperable. Yes, I think

28:06

the general purpose devices are going to become

28:08

harder and harder to come by and that

28:11

getting something that will work with everything is

28:13

going to be less of a

28:15

thing anybody cares about doing. On

28:17

the ARM side it'll be interesting to

28:20

see what some of the providers like

28:22

Microsoft released this ARM DevKit hardware

28:24

which I bought one of and with

28:26

the help of some people from cloud we got free BSD to

28:29

boot on it and work and

28:31

it's relatively generic hardware but it turns out

28:33

it's just the same guts as a Lenovo

28:35

ARM laptop it's like exactly the

28:37

same model but when Microsoft releases their actual

28:39

hardware it's probably not going to be something

28:41

so generic right this was just something off

28:43

the shelf they could buy and sell as

28:45

the dev kit so people would start making

28:47

their applications work for Windows on

28:49

ARM and on Linux that hadn't

28:52

happened as much before people

28:54

weren't yeah there's no

28:56

company behind the desktop applications

28:58

you're using on Linux that's

29:00

buying developers dev kits to

29:03

make sure the application works on ARM before the

29:05

hardware but it's not stopping us from catching

29:07

up. Let's do some free consulting

29:09

then but first just a quick thank you to everyone

29:11

who supports us with PayPal and Patreon we really do

29:13

appreciate that if you want to join those people

29:15

you can go to 2.5 admins.com slash

29:18

support and remember that for various

29:20

amounts on patreon you can get an advert free RSS

29:22

feed of either just this show or all

29:24

the shows in the late-night Linux family and

29:26

if you want to send any questions for Jim

29:28

and Alan or your feedback you can email show

29:30

at 2.5 admins.com Tom says Synology

29:33

is deprecating one of its OS's for

29:35

the older nurses for those

29:37

who have a fair amount invested in them are

29:40

there any false alternatives other than pulling the

29:42

data off and tossing the kit that'll

29:45

mostly depend on what the file system

29:47

is but since the Synology's are typically

29:50

relatively normal Linux then you

29:53

would be able to import the

29:55

file systems on some other fast-paced

29:57

Linux NAS But

30:00

it's not going to keep all of the

30:02

other bits from the Synology, all

30:04

the applications and so on. I don't

30:07

think there's a drop-in replacement for the

30:09

Synology OS itself, the one that's being

30:11

deprecated. But as far as not

30:13

having to copy all the data off and

30:15

just being able to mount it, that should be

30:17

relatively straightforward. My understanding was

30:20

that Synologies have a weird barFS with

30:22

some abstraction layer though, so doesn't that

30:24

make it more difficult to mount on

30:26

a normal Linux system? A little bit,

30:28

if you're a relatively veteran sysadmin, it's

30:31

not that daunting. If

30:33

you don't hit the level of relatively veteran

30:35

sysadmin, it might be a little daunting, but

30:37

you can get through it. You

30:39

need to be familiar with LVM and Butter.

30:42

You're not really going to be able to

30:44

recreate their stack exactly. I wouldn't recommend trying

30:46

to get the

30:48

whole thing up and running in its entirety. But if

30:50

you just want to be able to mount it read-only

30:53

and get the data off, you really just have to

30:55

be able to import the volume groups and

30:58

then reassemble the butter volume. It's

31:00

not that bad. Another

31:03

thing that's probably worth mentioning is

31:05

there is a project called XPennology,

31:08

X-P-E-N-O-L-O-G-Y, which

31:11

allows you to boot Synology

31:13

firmware on a generic x86

31:15

device. So

31:17

XPennology itself is just a custom bootloader

31:20

that you need to get the DSM

31:22

firmware running on your x86 box. And

31:26

that's not all that hard to get going.

31:28

Now I do have to mention, although this

31:30

has not really been tested in court, the

31:33

legal status of doing that is pretty murky. So

31:36

if you're just some person at

31:38

home who wants to carry

31:40

on basically the way you have been without

31:42

buying a super expensive new Synology box, that

31:45

might be an interesting solution because you would

31:47

be able to just buy or repurpose a

31:49

generic x86 machine, throw your

31:52

existing drives from your Synology in it

31:54

and boot it into Synology firmware, but

31:57

a newer version, then maybe that's

31:59

a cleaner upgrade. path but I

32:01

wouldn't recommend trying to do that at work. Right

32:04

well we better get out of here then.

32:06

Remember show at 2.5admins.com if you want to

32:08

send any questions or feedback. You

32:10

can find me at jrs.com/mastodon.

32:13

I'm at jrs-s.net/social. And I'm

32:15

at Alan Jude. We'll see

32:17

you next week.

Rate

Join Podchaser to...

  • Rate podcasts and episodes
  • Follow podcasts and creators
  • Create podcast and episode lists
  • & much more

Episode Tags

Do you host or manage this podcast?
Claim and edit this page to your liking.
,

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features