I bought an old iPad2 for the purpose of viewing a Home Assistant dashboard via a web browser. My thinking was that the ability to browse the web was the sole requirement for a tablet for this purpose, but I was wrong: Home Assistant’s web pages apparently require a newer version of javascript than iOS 9.3.5 can handle, but the iPad 2 can only be updated to iOS 9.3.5.

So is it possible to flash a newer OS (e.g., linux) onto an old iPad 2? ChatGPT says it’s not possible because a bootloader exploit for the iPad 2 isn’t known, but ChatGPT is often wrong.

  • With no upstream support and not a lot of interest, old iDevices don’t have a lot of Linux support.

    There’s very partial Linux for the iPad 1(G)but it’s far from a usable Linux OS. The openiboot bootloader that was behind the (short-lived, but longer-lived than I expected) effort to port Android to iPhones doesn’t have support for many devices.

    If you want Linux on that thing, you’ll have to write the drivers and possibly the bootloader yourself. I don’t think it’s feasible.

    There are two possible approaches to fixing this. The first is trying to jailbreak it and then installing a modern enough browser, the other is taking the HomeAssistant source code and rebuilding the frontend, forcing Safari 9 compatibility in the transpiler. I’m not sure if modern transpilers still support this old version of Javascript (that had plenty of Apple specific bugs and quirks as well at the time) but it’s maybe worth a shot.

    • Mike Wooskey@lemmy.d.thewooskeys.comOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      Thanks for the suggestions, but you don’t sound too optimistic about them they they’re beyond my skill set anyway (except possibly jailbreaking).

      • Yeah, I’m afraid installing Linux on it will be a project that will require a lot of dedication and reverse engineering skills.

        Transpiling Home Assistant into old Javascript may be your easiest bet, but no guarantees. The source code uses Babel to backport modern code for old browsers. If you can build it with browser target iOS >= 9.3 in the .browserslistrc file, and run it instead of the official frontend, the old Safari browser on the iPad 2 should be able to run the dashboard and the last two versions of all other browsers.

        However, the comments in the browserlist config file do indicate that older Safari versions are excluded by default because of bugs in Safari, so your mileage may vary.

        Honestly, I’m not sure if this is worth it. If you can trade the iPad in, you may be able to get an old Android tablet instead. Android tablets are generally cheaper and slower, but the browsers they support are usually years ahead of old iPads. For the latest version of Google Chrome, you’ll need Android 7, but if you can do with Firefox, Android 5.0 or up is all you need.

        My experience is that the Home Assistant frontend can be quite heavy, so even if you do get it working, you may need to customise it and mess around to get the performance down to an acceptable level.