iPhone 7 with dead NAND netbooting unmodified Ubuntu 20.04 via USB ethernet
old.reddit.com
old.reddit.com
I've seen this argument again, but this is a redefinition of sell vs rent.
Apple sells the device with specific capabilities. You might want it to have others, but that's not the same as renting. If you don't like it, buy something else.
You do get to do "whatever you want" with the device AS provided. You can stomp on it, melt in in a fire, or whatever, and Apple wont ask you for the device back. That's a sale.
"I wanted another version of the device, one that is unlocked, and Apple doesn't sell me one" doesn't mean Apple doesn't sell you what it says on the tin.
They're selling iPhones, locks and all, not generic devices to have different OSes loaded.
That said, Apple has no incentive to work towards enabling this. Both Apple's profit and customer's expectation are in the vertical integration that Apple provides.
(I'm not in anyway saying iOS is not restrictive or that they shouldn't do it. It's just that there's no pressing reason for them to work towards achieving it.)
This was, however, seen as outrageous, unlike the current state of smartphones, for better or for worse.
Most "normal" people see that a coffeemaker putting "DRM" on your coffee is ridiculous, but that outrage never really extended to digital devices for some reason.
Ignorance. If people had no real idea how coffee was made either, you wouldn't see much outcry over locked-down coffee pods either. "You want to grind your own beans? What an eccentric nerd! My coffee maker works perfectly with the manufacturer pods, why would I ever switch?"
Whereas the coffee is something they can buy at other shops, and it's pretty easy to compare.
One option would be to allow the installation of an alternative OS only after the device is out of support at least for an image win but this might not justify the effort.
I hope this gets regulated in the future so manufacturers are forced to remove any locks preventing the installation of 3rd party software (even make resources available for developers) the moment they stop providing "adequate" support.
I would personally prefer one step further and force to remove all locks if the customer asks it, it's their device, they are free to do whatever they want with it, it's both the right approach morally but also for environmental issues.
They could but it would cost more than most users bargained for. Most likely a manufacturer would offer you the open device for the price of the device plus the expected loss of value from connected services (maybe something on top just for good measure), or a locked "subsidized" version that can or has to run only as we see today, and that will cost as much as one does now. And they could easily make a case for this even in court.
But once the support ends it's more or less implicit that the manufacturer abandoned the device and no longer expects profit (or expenses) related to it and keeping it locked is a harder case to make.
And I get a manufacturer's desire to profit from their own devices. But once they abandon them I see no other reasonable legal or moral claim a manufacturer can make. They should issue a final update that removes any protections, and make all relevant drivers and documentation freely available (or even for a modest one time fee) even if this means some binary blobs and a bunch of docs for how to interface with them.
Isn't that kind of the concept behind those k-cup type machines?
Everything was going well for Microsoft until it wasn't.
Apple's iPhone has a 90% market share among youths in the US and a 50% market share of active devices in the general market. Their general market share in the US isn't going to be shrinking anytime soon. As they get more and more popular, the rules will change for them.
My non technical wife managed to lock herself out of her device and icloud with no recourse as I didn't preserve the reciept.
So now we have a device but it is just an unusable brick. So are we the owner or renter?
I was never into Apple and after this my wife decided to move away too so we don't care anymore.
For the device you can always erase and start from scratch.
Well, at some point, they device might as well be bricked.
Otherwise device theft would be much higher (since they could use it, whereas now they can't), plus of course if lost/stolen people would have access to the data.
I wonder how many device are rendered useless due to this "security feature".
Also to note that there is no proving ownership to get around the lock. You either have the password to log in or it’s bricked. You can go to apple or google with proof of purchase and they will not / can not unlock the device.
There are online services which claim to do this if you can prove the ownership.
Only in the same way that you're "only renting" a safelock if you can lock it and are not able to open it (e.g. by forgetting the lock, or having some key inside).
>My non technical wife managed to lock herself out of her device and icloud with no recourse as I didn't preserve the reciept.
That's a security feature. If there was a recourse then locking the device (when you're done using it for the moment) would be security theater.
Oh come-on a thousands of Harrys working in Apple store can unlock.
Million of "Happys working in Apple store" couldn't unlock your FileVault disk for example if you don't have the password / key etc.
Apple locked us out of device we paid for. We just wanted to use it again completely wiping it off. Random Harry working for Apple can do that but we as legitimate owners can't.
So with respect to owning vs renting argument, How I am owning the device?
In fact, Apple makes a robust profit on every mobile device they sell.
This is in contrast to, e.g, gaming consoles, which are (at least were) sold below cost, with the profit coming from games.
Apple also won't stop you from installing whatever on your gizmo, legally I mean. With mobile, they do several things which make it pointlessly difficult, and I would rather they didn't.
The limited hardware combinations alone would be a boon to the Free community. Right now, I see Android as the Freer option, even though I've gone significantly out of my way to get there (Samsung Exynos + microG + fdroid). If I could do a similar amount of work on mainstream Apple hardware and end up with an OS that had no Google remnants, I can see my perspective changing quite readily.
Perhaps we'll see such a development when there emerges a Free OS that's a viable/cult-popular daily driver.
We can see from android, letting people install custom ROMs didn't really have any effect on the average user who will never try it. The hurdle of having to factory reset your phone to unlock the bootloader keeps normal people away.
While I don't think it's likely, it would be _possible_ for Apple to open this up on the phone side too
The customers Apple can win are those willing to buy a brand new $1K+ iPhone, switch OS and void (at least part of) the warranty. If they are not supporting a Bootcamp for Android probably is because they did the math and it was not worth it.
On top of that, there's a cost of open sourcing besides revealing proprietary information--you generally need to audit and cleanup your code base (cleanup commit messages, code comments, etc) that could be, at best, embarrassing, or, at worse, reveal product flaws/bugs
Edit, looks like I was beaten to the punch https://news.ycombinator.com/item?id=25728930
This feature is a big deal because you need to do it in order to install Frida, which is a very useful reverse engineering tool. There are alternative ways to get frida running, but they are less convenient
That's why they are shifting to services and for that they need to have you locked in their OS.
The key issue is that hardware drivers aren't there, and that requires a massive amount of reverse engineering work.
Apple could release documentation for the hardware, making things easier, but from apples point of view that opens them up to patent litigation (you can be sure trolls will scour the documentation for evidence of violated patents), and most internal documentation isn't of sufficient quality to release without at least someone reading it all over and removing swearwords...
Collecting the documentation together will be hard - it is probably scattered amongst hundreds of git repos, wikis, documents, spreadsheets, photos of whiteboards, on some engineers laptop, and mixed in with code and secrets.
Even then, without a lot of people putting a lot of effort in, you wouldn't see desktop linux running...
Overall, I can see why Apple doesn't help these guys - the disadvantages outweigh the advantages.
I know Apple drops open source blobs for iOS. Do the kernels not include drivers? Especially as Apple takes over more of the BOM through vertical integration, there's less stuff they would need to suppress because of contracts (but of course that doesn't mean they do include other things).
This might be semantics, but the fact that unlocking the bootloader or running code with the highest level of privilege on an iPhone requires exploits in the first place is a pretty big sign that these platforms are pretty closed. Checkra1n is very nice but this is an oversight that Apple is unlikely to make again (the only way Checkra1n was found in the first place was Apple fixing the underlying issue on Apple A12 devices anyway).
Unfortunately I think the existence of Apple's Security Researcher Device program squashes any hopes that Apple would consider opening up store bought devices any further. The only real way I see Apple opening iDevices if some regulation to that effect would be enforced, but I don't see that happening any time soon either.
I mean I get why one would want unrestricted access to hardware, custom software, etc, but at the same time I understand the resistance to allowing it. In Apple's case, security is really high up in their priorities.
So in theory, you get the best of both worlds. I don't think there's anything really stopping Apple from doing this, but as many others have said, it's not really their jam ;)
So when you got your second hand device you just need to check the bootloader while booting. If it warns then you need to flash a stock iamge.
It just shows that this is possible, but we are talking about Apple here.
And here I thought the cliche was Macbook in IT == SDE.
Or maybe it's just me.
By all available stats, Macs are only used by about 25% of programmers. Windows is 50% and Linux is 25%.
This developer has purchased a (used) Macbook Pro but only touches it to build into iOS-land. The rest of my time is spent on Linux where I'm in charge and where I can get proper basic facilities like sane window and file management without the hassle.
In your average light tech sv-inspired web startup you will see them, but it drops off as you start moving into actual engineering.
But in my case, I’m not buying the internal components. I’m buying the “I won’t have to angrily kick myself later” promise.
So far that promise has held and not felt overpriced.
I am excited to start evaluating the m* macs once they get docker sorted though.
I had a fellow dev whose camera was below the screen, so when we'd videoconference I'd be pointed at his chest, for example.
Every time he'd plug in his headphones and then unplug them his microphone would stop working.
It was death by a thousand cuts. Tiny inconveniences that stack up.
Although speaking of cuts, I'll admit I sliced my finger open (on the exhaust vent) when pulling my 2018 MBP out of my laptop bag. Talk about inconvenient design flaws. And yet, here I am recommending them. That's how good the other stuff is in comparison.
So it looks like they built upon this project that tries to install Android on iPhones. https://projectsandcastle.org/status
They mention:
" Apparently they struggled to get Android to run because A10 mandates 16k page sizes"
Is that swap space? I assumed these devices didn't use swap.
Some filesystems like Btrfs and XFS (iirc) have elements that are page size dependent, and can only be opened on systems with the same page size as the one that made them.
Some stuff like Wine (and windows in general AFAIK) assumes 4k "alignment" and doesn't like it when it differs)
Of course, on P9 you can just change the page size to 4k and be done with it. Apple appears to have only implemented 16KB pages and nothing else, presumably to minimize silicon cost/maximize performance (?)
I think it is because, due to quirks of the interaction of virtual address resolutions with cache addressing, it allows Apple to use a larger L1 cache.
The page size on windows is 64kb as well so portable software already needs to deal with supporting 4kB and 64kB pages.
I appreciate the open platform and documentation behind it -- the OpenPOWER people publish a lot of detailed technical docs, and all the source code is available, with everything down to the FPGAs controlling power-up easily modifiable, without having to reverse-engineer all the bits like cough other platforms.
It's just a shame it started off expensive and has gotten even more so the past couple of years. I suppose it's just what happens when you're producing such complex boards at such a tiny scale, and for such a niche audience.
I think the language they used is misleading. It's more likely Android has introduced some bugs from assuming page sizes are always 4kb.
"Whilst Ubuntu and other standard distros don't care?"
Many of the various different architectures Linux runs on have page sizes that aren't 4kb. It's typically defined in a constant called "PAGE_SHIFT" in the arch/<ARCH>/include/asm/page.h file for the architecture.
For example, PAGE_SHIFT is 13 for OpenRisc: https://github.com/torvalds/linux/blob/fcadab740480e0e0e9fa9...
A quick way to convert that to the page size:
$ echo "2^13" | bc
8192That would have surprised me, and indeed they write [0]
> After a cheerful pre-boot 'Hello, world!' hand-coded in start-up code assembly, we ran into the first one: it turned out that the processor cores don't merely support 16kB pages, but they actually require them. The Linux kernel, however, took this in stride, and as soon as we switched the page size configuration option, it was happy to run.
You'll need GPIOs, and iPhone doesn't have it... Well, I do agree with you that an USB I/O expansion adatper is an usable solution. You'll get I2C, SPI and GPIOs without difficulty.
Best case you'll be able to run PostmarketOS, but more likely you'll be constrained to a years old Android with an ancient kernel and a non-standard libc - that is after you mange to get the thing rooted in a convoluted process. You can also be pretty sure that thing is going to be running malware.
Getting graphical acceleration, on the other hand, is much more difficult work.
I got the graphics running as well! https://www.reddit.com/r/linux/comments/kvmsfd/success_iphon...
Also very cool!
I agree that referring to "NAND Flash Memory" as "NAND" is rather confusing. Similar to referring to "crypto-currency" as "crypto".
> This iPhone would never be able to boot iOS again, as its nvme nand is completely dead.