Error compiling LE 9.2.8.15 without SquashFS
-
daigenix -
January 4, 2025 at 2:36 AM -
Thread is Unresolved
-
-
Our distro packaging assumes SYSTEM is a squashfs file, and thus there are dependencies/assumptions about squashfs all over the place. What's the actual problem that you are trying to solve?
-
I have a tv box that I migrated from Android to LE OS, whose internal memory nand is 128 GB. When booting from the sd card the STORAGE partition, it expands well from 40 MB to occupy the full extent of the physical memory or almost full capacity of the sd card. But when you flash the ROM to the internal memory of the device it only expands this particular partition up to 4.5 GB making invisible almost the entire physical capacity of the internal nand (about 120 GB remaining). It does this over and over again and it is a serious thing that limits the capabilities of the device. I understand the intent of the LE designers to make the OS kernel (system partition) secure by making it read-only via SquashFS, but for STORAGE partition, this is a limitation for devices with capacities above 8GB. How could I solve this then? My best thanks to you.
-
The "not supported in this forum install2internal script" repurposes two Android partitions for /flash and /storage. I forget exactly which ones are used but let's assume /system = /flash and /data = /storage. The goal of the script is to not mess with the Android partition scheme (some of which is intentionally hidden from Linux to stop users from bricking Android) so you are stuck with the sizes the original Android ROM for the box implemented for /system and /data (in your case, 4.5GB). It is possible to repartition the internal storage to create more space, but this is a non-trivial task using low-level tools (not normal userspace utilities) and it's not fun to resurrect devices or spoon-feed complex instructions to their pissed-off and panicing owners when things inevitably go wrong and the device is left in a "bricked" state. Hence we avoid the entire issue by not supporting install2internal. If you run from internal storage; whatever you problem is, it's not our problem.
To provide more info: The OS boots from KERNEL (the Linux kernel) and SYSTEM (userspace). On devices with more than 1GB RAM SYSTEM is expanded into RAM to create a virtual (read-only) filesystem. The /storage area has nothing to do with SYSTEM or the use of squashfs, so you cannot gain space by removing squashfs from the LE image. It is possible to create images that do not use a squashfs filesystem; but then the contents of SYSTEM have to be installed to internal storage not RAM, which will reduce the internal space available for /storage.
TL/DR: if you can't solve the issue yourself (as we don't provide guideance or support for the activity) you are stuck with 4.5GB and the best solution for everyone is that you continue to boot and use LE from the SD card.
-
Thank you very much for sharing your knowledge and technical advice. Now the picture is clear to me. I understand that the technical task is complicated and that I need to do more research before making any decision. Now everything works from the sd card, but I don't think I'm going to stop here and settle without taking the risks. It is not in my nature. I am very grateful for your advice. Thank you very much.
-
If you have the original Android ROM image for the box feel free to experiment at your own risk in the knowledge that Amlogic burning tool can always recover the box to its original state. If you don't have that ROM, don't attempt anything.
-
Yes, I have the original Android ROM image of that box mxq pro, obtained via TWRP, and a few low level tools. I will try to watch some tutorials first.
-
I have a tv box that I migrated from Android to LE OS, whose internal memory nand is 128 GB.
I don't really believe that any manufacturer has made an S805 box with such a high capacity NAND or eMMC. The kernel recognizes the real size of the flash memory, so either Android is lying or you ran into an excessive marketing ad when you bought the box.
Regarding the compile errors, I suspect that you are trying to compile on a system that is too new, and the tools delivered with the actual distro version are not always backwards compatible. I'm still using Debian 10 to compile my LE 9.2 images.