Skip to content

Commit cf717ae

Browse files
committed
add realEntryHasKernel
1 parent fea7bfd commit cf717ae

File tree

2 files changed

+24
-10
lines changed

2 files changed

+24
-10
lines changed

app/src/main/java/org/andbootmgr/app/DeviceInfo.kt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ interface DeviceInfo {
2121
val codename: String
2222
val blBlock: String
2323
val metaonsd: Boolean
24+
val realEntryHasKernel: Boolean
2425
/* Environment variables:
2526
* - BOOTED=true SETUP=false BL_BACKUP=<unset> for droidboot update
2627
* - BOOTED=false SETUP=false BL_BACKUP=<path> for droidboot fix
@@ -99,14 +100,16 @@ class JsonMetaOnSdDeviceInfo(
99100
override val bdev: String,
100101
override val pbdev: String,
101102
override val postInstallScript: Boolean,
102-
override val havedtbo: Boolean
103+
override val havedtbo: Boolean,
104+
override val realEntryHasKernel: Boolean
103105
) : MetaOnSdDeviceInfo()
104106

105107
class JsonSdLessDeviceInfo(
106108
override val codename: String,
107109
override val blBlock: String,
108110
override val postInstallScript: Boolean,
109-
override val havedtbo: Boolean
111+
override val havedtbo: Boolean,
112+
override val realEntryHasKernel: Boolean
110113
) : SdLessDeviceInfo()
111114

112115
class JsonDeviceInfoFactory(private val ctx: Context) {
@@ -147,14 +150,16 @@ class JsonDeviceInfoFactory(private val ctx: Context) {
147150
json.getString("sdBlock"),
148151
json.getString("sdBlockP"),
149152
json.getBoolean("postInstallScript"),
150-
json.getBoolean("haveDtbo")
153+
json.getBoolean("haveDtbo"),
154+
json.optBoolean("realEntryHasKernel", false)
151155
)
152156
} else {
153157
JsonSdLessDeviceInfo(
154158
json.getString("codename"),
155159
json.getString("blBlock"),
156160
json.getBoolean("postInstallScript"),
157-
json.getBoolean("haveDtbo")
161+
json.getBoolean("haveDtbo"),
162+
json.optBoolean("realEntryHasKernel", false)
158163
)
159164
}
160165
}

app/src/main/java/org/andbootmgr/app/DroidBootFlow.kt

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -326,12 +326,21 @@ private fun Flash(d: DroidBootFlowDataHolder) {
326326
db.exportToFile(File(vm.logic.abmDb, "db.conf"))
327327
val entry = ConfigFile()
328328
entry["title"] = d.osName.trim()
329-
entry["linux"] = "null"
330-
entry["initrd"] = "null"
331-
entry["dtb"] = "null"
332-
if (vm.deviceInfo.havedtbo)
333-
entry["dtbo"] = "null"
334-
entry["options"] = "null"
329+
if (vm.deviceInfo.realEntryHasKernel) {
330+
entry["linux"] = "real/kernel"
331+
entry["initrd"] = "real/initrd.cpio.gz"
332+
entry["dtb"] = "real/dtb.dtb"
333+
if (vm.deviceInfo.havedtbo)
334+
entry["dtbo"] = "real/dtbo.dtbo"
335+
entry["options"] = "REPLACECMDLINE"
336+
} else {
337+
entry["linux"] = "null"
338+
entry["initrd"] = "null"
339+
entry["dtb"] = "null"
340+
if (vm.deviceInfo.havedtbo)
341+
entry["dtbo"] = "null"
342+
entry["options"] = "null"
343+
}
335344
entry["xtype"] = "droid"
336345
entry["xpart"] = "real"
337346
entry.exportToFile(File(vm.logic.abmEntries, "real.conf"))

0 commit comments

Comments
 (0)