[Oculus Quest] lucfortunato:
Hi guys. I've been trying to unlock the bootloader. So far I installed an useful app to open android settings https://m.apkpure.com/hidden-settings-for-android/com.jami.tool.hiddensetting.

I enabled developer settings trough ADB:

adb shell settings put global development_settings_enabled 1

But I think I could've also enable it by clicking 5 times the build version... Anyway then I opened the Settings app and Developer Options appeared, unfortunately, when I open it, the whole Settings app crashes. Here is the what I think it is the relevant logcat:

03-12 22:59:30.047 12645 12645 E ndroid.setting: Can't find memory status under: /sys/block/zram0/
03-12 22:59:30.047 12645 12645 D AndroidRuntime: Shutting down VM
03-12 22:59:30.033 12645 12645 W ndroid.settings: type=1400 audit(0.0:129): avc: denied { read } for name="pagetypeinfo" dev="proc" ino=4026531857 scontext=u:r:system_app:s0 tcontext=u:object_r:proc_pagetypeinfo:s0 tclass=file permissive=0
03-12 22:59:30.047 12645 12645 E AndroidRuntime: FATAL EXCEPTION: main
03-12 22:59:30.047 12645 12645 E AndroidRuntime: Process: com.android.settings, PID: 12645
03-12 22:59:30.047 12645 12645 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.SubSettings}: java.lang.RuntimeException: SysMemInfo read failed
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3279)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3418)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2025)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:107)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at android.os.Looper.loop(Looper.java:214)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7389)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:933)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: Caused by: java.lang.RuntimeException: SysMemInfo read failed
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at android.os.Debug.getZoneWatermarks(Native Method)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.internal.util.MemInfoReader.readMemInfo(MemInfoReader.java:37)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.applications.ProcStatsData$MemInfo.calculateWeightInfo(ProcStatsData.java:423)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.applications.ProcStatsData$MemInfo.<init>(ProcStatsData.java:383)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.applications.ProcStatsData$MemInfo.<init>(ProcStatsData.java:362)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.applications.ProcStatsData.refreshStats(ProcStatsData.java:156)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.applications.ProcStatsData.setDuration(ProcStatsData.java:128)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.development.MemoryUsagePreferenceController.setDuration(MemoryUsagePreferenceController.java:76)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.development.MemoryUsagePreferenceController.displayPreference(MemoryUsagePreferenceController.java:54)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.dashboard.DashboardFragment.lambda$displayResourceTiles$5(DashboardFragment.java:313)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.dashboard.-$$Lambda$DashboardFragment$Tn5-YvXfafHUTSTeQyMxdmcExvo.accept(Unknown Source:4)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1390)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:604)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:283)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at java.util.Iterator.forEachRemaining(Iterator.java:116)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:475)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:133)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:236)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:435)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.dashboard.DashboardFragment.displayResourceTiles(DashboardFragment.java:312)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.dashboard.DashboardFragment.refreshAllPreferences(DashboardFragment.java:360)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.dashboard.DashboardFragment.onCreatePreferences(DashboardFragment.java:160)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at androidx.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:160)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settingslib.core.lifecycle.ObservablePreferenceFragment.onCreate(ObservablePreferenceFragment.java:61)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.SettingsPreferenceFragment.onCreate(SettingsPreferenceFragment.java:133)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.dashboard.DashboardFragment.onCreate(DashboardFragment.java:137)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.dashboard.RestrictedDashboardFragment.onCreate(RestrictedDashboardFragment.java:104)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.development.DevelopmentSettingsDashboardFragment.onCreate(DevelopmentSettingsDashboardFragment.java:145)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at androidx.fragment.app.Fragment.performCreate(Fragment.java:2596)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:831)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at androidx.fragment.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1197)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at androidx.fragment.app.FragmentTransition.calculateFragments(FragmentTransition.java:1080)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at androidx.fragment.app.FragmentTransition.startTransitions(FragmentTransition.java:119)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1853)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1811)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1717)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at androidx.fragment.app.FragmentManagerImpl.executePendingTransactions(FragmentManagerImpl.java:183)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.SettingsActivity.switchToFragment(SettingsActivity.java:600)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.SettingsActivity.launchSettingFragment(SettingsActivity.java:393)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at com.android.settings.SettingsActivity.onCreate(SettingsActivity.java:301)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:7825)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:7814)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3254)
03-12 22:59:30.047 12645 12645 E AndroidRuntime: ... 11 more
03-12 22:59:30.033 12645 12645 W ndroid.settings: type=1400 audit(0.0:130): avc: denied { search } for name="zram0" dev="sysfs" ino=46795 scontext=u:r:system_app:s0 tcontext=u:object_r:sysfs_zram:s0 tclass=dir permissive=0
03-12 22:59:30.033 12645 12645 W ndroid.settings: type=1400 audit(0.0:131): avc: denied { search } for name="zram0" dev="sysfs" ino=46795 scontext=u:r:system_app:s0 tcontext=u:object_r:sysfs_zram:s0 tclass=dir permissive=0
03-12 22:59:30.033 12645 12645 W ndroid.settings: type=1400 audit(0.0:132): avc: denied { read } for name="zoneinfo" dev="proc" ino=4026531859 scontext=u:r:system_app:s0 tcontext=u:object_r:proc_zoneinfo:s0 tclass=file permissive=0
03-12 22:59:30.052 1044 4585 W ActivityTaskManager: Force finishing activity com.android.settings/.SubSettings

My first impression is that's related to some kernel build flags. Does someone knows more?

I think it is possible to unlock the bootloader normally with developer options because ro.oem_unlock_supported is set to 1. Bye.

Edit: Here is a relevant stackoverflow issue https://stackoverflow.com/questions...h-when-opening-developer-options-programmatic It may depends on the app used to open the settings.