Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Samsung Galaxy A10 UEFI #155

Open
EFIShell0 opened this issue Jul 5, 2020 · 30 comments
Open

Samsung Galaxy A10 UEFI #155

EFIShell0 opened this issue Jul 5, 2020 · 30 comments

Comments

@EFIShell0
Copy link

Hi! My phone Samsung Galaxy A10. 32 bit Android 9 ROM default. ARM64 CPU. UEFI supporting with A10? Thanks. (Bad English sorry :( )

@M1cha
Copy link
Member

M1cha commented Jul 5, 2020

theoretically any device can work but efidroid has been discontinued.

@TheW0LVERIN3
Copy link

theoretically any device can work but efidroid has been discontinued.

I think it would be best to add discontinued to the readme or the discription because nothing has happened here since 2017

@EFIShell0
Copy link
Author

No, I was just asking questions here to find out if my device supports the 64-bit UEFI specification. Support 64-bit UEFI?

@M1cha
Copy link
Member

M1cha commented Jul 7, 2020

A device doesn't need anything special according the UEFI spec. You have to use one of the supported architectures(x86, x64, aarch32, aarch64 iirc) and there're some very basic architectural requirements which every device should support anyway.

Your A10 is an aarch64 device which can run UEFI while complying to the spec, but you'll have a very hard time implementing it because it has an exynos SoC.

@EFIShell0
Copy link
Author

A device doesn't need anything special according the UEFI spec. You have to use one of the supported architectures(x86, x64, aarch32, aarch64 iirc) and there're some very basic architectural requirements which every device should support anyway.

Your A10 is an aarch64 device which can run UEFI while complying to the spec, but you'll have a very hard time implementing it because it has an exynos SoC.

So how do I install an ARM64 OS on my A10 device in UEFI mode? Thanks. :)

@M1cha
Copy link
Member

M1cha commented Jul 8, 2020

I think you misunderstood me. Technically your device could run UEFI, but there's (probably) no port which means you just can't do that.

@EFIShell0
Copy link
Author

They have installed Windows 10 ARM64 These people are on S8 in UEFI mode:
https://www.neowin.net/news/developer-gets-windows-10-on-arm-to-boot-on-the-samsung-galaxy-s8/

@EFIShell0
Copy link
Author

Redmi Note 7 (Qualcomm SnapDragon 660 example):
https://cntechpost.com/2020/04/19/developer-runs-uefi-shell-on-redmi-note-7-paving-way-for-desktop-system-installation/

@feherneoh
Copy link

Neither of these are Exynos based devices

@EFIShell0
Copy link
Author

Meanwhile, OEM Bootloader can be unlocked in developer options.

@feherneoh
Copy link

I did port UEFI to Redmi Note 4 (Snapdragon 625/MSM8953) too, but that won't help you with any phone that uses a different SoC

@EFIShell0
Copy link
Author

Understood. So I'm going to ask one last question. Is Stock ROM installed in 32-bit UEFI mode or 32-bit Legacy mode? (64-bit UEFI BIOS is 32-bit UEFI mode, EFI MIXED is required) If one is 64-bit UEFI, is 64-bit UEFI ROM available? Thank you.

@feherneoh
Copy link

feherneoh commented Jul 8, 2020

I'm pretty sure you are assuming ARM devices are the same as x86 ones. They are not. On A10 stock ROM is most probably not using UEFI, but I don't own that device, so I cannot check. If I'm right, it has a bootloader that can only boot Linux (or stuff disguised as Linux), but most probably it can boot both 32 and 64 bit kernels. For Qualcomm devices with 64 bit SoC but 32 bit ROM that's how it usually goes, so I'll assume it's the same for Exynos too.

@M1cha
Copy link
Member

M1cha commented Jul 8, 2020

@feherneoh is right.
In other words: Even if you had fully working UEFI provided by the manufacturer, (most) ARM UEFI devices don't have operatingsystem independent ACPI-tables like x86 does. Furthermore, many peripherals need non-mainline drivers or even userspace-drivers.

@EFIShell0
Copy link
Author

@M1cha @feherneoh Thanks. Can GPT MBR status be checked on Android? Or can it be done on PC?

@feherneoh
Copy link

It's almost certain that your phone uses GPT, but even if it does not (unlikely), it's surely not using MBR

@M1cha
Copy link
Member

M1cha commented Jul 8, 2020

@Turbodr try to run this on the device and post the output: ls -l /dev/block/by-name/

@EFIShell0
Copy link
Author

@M1cha Where should I write that Linux terminal command? Need a program?

@feherneoh
Copy link

https://play.google.com/store/apps/details?id=jackpal.androidterm

@EFIShell0
Copy link
Author

:/ $ ls -l /dev/block/by-name
total 0
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 boot -> /dev/block/mmcblk0p15
lrwxrwxrwx 1 root root 20 2020-07-03 12:53 bota0 -> /dev/block/mmcblk0p1
lrwxrwxrwx 1 root root 20 2020-07-03 12:53 bota1 -> /dev/block/mmcblk0p2
lrwxrwxrwx 1 root root 20 2020-07-03 12:53 bota2 -> /dev/block/mmcblk0p6
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 bota3 -> /dev/block/mmcblk0p23
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 cache -> /dev/block/mmcblk0p28
lrwxrwxrwx 1 root root 20 2020-07-03 12:53 cm -> /dev/block/mmcblk0p7
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 cp_debug -> /dev/block/mmcblk0p30
lrwxrwxrwx 1 root root 20 2020-07-03 12:53 cpefs -> /dev/block/mmcblk0p5
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 dtb -> /dev/block/mmcblk0p17
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 dtbo -> /dev/block/mmcblk0p18
lrwxrwxrwx 1 root root 20 2020-07-03 12:53 efs -> /dev/block/mmcblk0p3
lrwxrwxrwx 1 root root 20 2020-07-03 12:53 m9kefs1 -> /dev/block/mmcblk0p8
lrwxrwxrwx 1 root root 20 2020-07-03 12:53 m9kefs2 -> /dev/block/mmcblk0p9
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 m9kefs3 -> /dev/block/mmcblk0p10
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 misc -> /dev/block/mmcblk0p14
lrwxrwxrwx 1 root root 18 2020-07-03 12:53 mmcblk0 -> /dev/block/mmcblk0
lrwxrwxrwx 1 root root 23 2020-07-03 12:53 mmcblk0boot0 -> /dev/block/mmcblk0boot0
lrwxrwxrwx 1 root root 23 2020-07-03 12:53 mmcblk0boot1 -> /dev/block/mmcblk0boot1
lrwxrwxrwx 1 root root 22 2020-07-03 12:53 mmcblk0rpmb -> /dev/block/mmcblk0rpmb
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 nad_fw -> /dev/block/mmcblk0p31
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 nad_refer -> /dev/block/mmcblk0p11
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 omr -> /dev/block/mmcblk0p29
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 param -> /dev/block/mmcblk0p12
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 persistent -> /dev/block/mmcblk0p20
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 product -> /dev/block/mmcblk0p27
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 radio -> /dev/block/mmcblk0p19
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 recovery -> /dev/block/mmcblk0p16
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 reserved2 -> /dev/block/mmcblk0p24
lrwxrwxrwx 1 root root 20 2020-07-03 12:53 sec_efs -> /dev/block/mmcblk0p4
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 steady -> /dev/block/mmcblk0p21
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 system -> /dev/block/mmcblk0p25
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 up_param -> /dev/block/mmcblk0p13
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 userdata -> /dev/block/mmcblk0p32
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 vbmeta -> /dev/block/mmcblk0p22
lrwxrwxrwx 1 root root 21 2020-07-03 12:53 vendor -> /dev/block/mmcblk0p26
:/ $

@M1cha

@EFIShell0
Copy link
Author

EFIShell0 commented Jul 8, 2020

@feherneoh Thanks for the application.

@M1cha
Copy link
Member

M1cha commented Jul 8, 2020

I can't see anything obvious in there. I googled the partition names but couldn't find info for all of them. If you really wanna get into it you could dump them all and run binwalk on each of them.
My guess would be cm, nad_* or mmcblk0boot*

@EFIShell0
Copy link
Author

@M1cha So how can I do what you say?

@feherneoh
Copy link

It's GPT, but Samsung surely loves messing the partition layout up as much as humanly possible

@EFIShell0
Copy link
Author

@feherneoh EFI MIXED Mod working?

@feherneoh
Copy link

@feherneoh EFI MIXED Mod working?

I'm pretty sure that what you are talking about doesn't exist on ARM

@EFIShell0
Copy link
Author

@feherneoh EFI MIXED Mod working?

I'm pretty sure that what you are talking about doesn't exist on ARM

LineageOS 17.X 64 Bit UEFI ROM or 32 bit UEFI ROM with A10?

@feherneoh
Copy link

@feherneoh EFI MIXED Mod working?

I'm pretty sure that what you are talking about doesn't exist on ARM

LineageOS 17.X 64 Bit UEFI ROM or 32 bit UEFI ROM with A10?

On ARM64 devices you can usually boot both 32 and 64 bit kernels from 32 bit UEFI (not with EFISTUB though)
Also there are no such things as "UEFI ROM"s for Android devices.

@Kirill2006183
Copy link

Hello, here it weighs 21 years, someone is porting UEFI to Samsung a10

@Kirill2006183
Copy link

and then some tried to port ubuntu touch to samsung a10 but without success

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants