4 ms·
Same here. I'd really like a Switch but refuse to buy general computing devices that don't give me root access.
by driverdan 6y ago
Same here. I'd really like a Switch but refuse to buy general computing devices that don't give me root access.
- ryandrake 6y agoHow do you define a "general computing device?" Anything with a CPU?
- yjftsjthsd-h 6y ago(My view) Certainly anything that could load and run arbitrary code in the absence of artificial constraints. That is, I don't care about the processor running my kitchen timer, because it's fixed-purpose and couldn't run anything else without replacing physical memory chips (and even then it's iffy). On the other hand, the Switch is designed with the ability to download and run arbitrary code from cartridges or the internet, and the only reason I can't run my own code is because Nintendo blocks me from doing so, and that is objectionable.
- driverdan 6y agoI agree with this description. I don't expect access to something running a minimal SoC with code burned to its ROM. I do expect it for something with a general OS that runs arbitrary code. This can get tricky with modern devices. For example, pretty much every router runs some version of linux. Most do not give you root unless you flash your own firmware.
- ryandrake 6y agoAlso, a lot of IoT devices happen to run minimal but functional operating systems. I personally think whether something counts as "general purpose" or not is a gray area and depends greatly on the manufacturer's intent, and it's pretty clear that these manufacturers do not intend for users to run arbitrary software on the devices they make.
- yjftsjthsd-h 6y agoI disagree with that; in my mind the distinction is not whether the manufacturer wants me to to run arbitrary code, but whether they expect/intend themselves to be able to run arbitrary code after the device is shipped. So ex. a dumb digital watch that just has time/date/alarm/stopwatch functions is fine because once it's sold the manufacturer never expects to update its code (and said code is probably on actual read-only ROM), but an Apple Watch is intended to run arbitrary code - just that Apple locks down that ability to code that they allow, which I do object to even though Apple never intended to let users run their own code at will.
- swiley 6y agoMost of them are a little more than minimal, almost all of the ones I've seen are running full buildroot Linux with tons of shell scripts gluing stuff together and the main app in C++.
- rhn_mk1 6y agoThis definition would generally bar you from using phone modems, Wifi cards, and GPUs. With some exceptions, their CPUs have nothing to run without external help, so they are forced to load and run arbitrary code to even be operational. Replacing a memory chip would not do anything because those aren't used. The artificial constraint is either that the code (firmware) is closed, or both closed and signed. Otherwise, I like the criterion a lot. It's a decent distinction between what's "software" and "hardware". Another blurry line is devices that come with a memory chip where their program code is loaded, but they later need to have a patch loaded by the OS each time (like Intel microcode). Yet another uncertainty depends on how we define root access. If we take it to mean "I have the last word", then Intel/AMD and some ARM CPUs don't qualify, as they have deep, manufacturer-signed-only modes.
- yjftsjthsd-h 6y ago> This definition would generally bar you from using phone modems, Wifi cards, and GPUs. With some exceptions, their CPUs have nothing to run without external help, so they are forced to load and run arbitrary code to even be operational. Although I personally don't always consider this to be a hard reason not to use hardware, yes, I am indeed quite grumpy about the fact that most of my systems contain parts that I don't control. As to practical fallout, it varies by impact and options; since AFAIK I can't buy a modem that doesn't use binary blobs, I just factor it into my threat model with mitigations where reasonable (thankfully, not all phones expose all of main memory to the modem) and move on, but where there are reasonable options (yes, that's weasel-worded; I haven't yet switched to POWER because I don't want to pay 10x for my machines) I use them, for instance when I buy a phone I filter by whether it has an unlockable bootloader. > The artificial constraint is either that the code (firmware) is closed, or both closed and signed. Yes, agreed.
- qwerty456127 6y ago> This definition would generally bar you from using phone modems Back in the days when I used phone modems (USR Courier and Sportster) I actually flashed a cool custom firmware developed by an enthusiast hacker and there seemed to be no measures deployed to stop me from doing so. IIRC at least USR Courier had Intel 80186 which was a full-fledged x86 CPU making the modem a real computer indeed.
- deleted 6y ago[deleted]