@@ -142,7 +142,7 @@ export default class Utils {
142
142
let distro = new Distro ( )
143
143
let vmlinuz = ''
144
144
145
- // find vmlinuz in /proc/cmdline
145
+ // find BOOT_IMAGE /proc/cmdline
146
146
const cmdline = fs . readFileSync ( '/proc/cmdline' , 'utf8' ) . split ( " " )
147
147
cmdline . forEach ( cmd => {
148
148
if ( cmd . includes ( 'BOOT_IMAGE' ) ) {
@@ -161,6 +161,22 @@ export default class Utils {
161
161
}
162
162
} )
163
163
164
+
165
+ /**
166
+ * BOOT_IMAGE not found in /proc/cmdline
167
+ * sample: initrd=\initramfs-6.11.10-300.fc41.x86_64.img root=/dev/sda3 rw
168
+ */
169
+ if ( vmlinuz === '' ) {
170
+ cmdline . forEach ( cmd => {
171
+ if ( cmd . includes ( 'initrd=' ) ) {
172
+ let initrd = cmd . substring ( cmd . indexOf ( 'initramfs-' ) + 10 )
173
+ let version = initrd . substring ( 0 , initrd . indexOf ( '.img' ) )
174
+ vmlinuz = `/boot/efi/vmlinuz-${ version } `
175
+ console . log ( vmlinuz )
176
+ }
177
+ } )
178
+ }
179
+
164
180
// btrfs: eg: /@root /boot/vmlinuz
165
181
if ( vmlinuz . indexOf ( '@' ) ) {
166
182
let subvolumeEnd = vmlinuz . indexOf ( '/' , vmlinuz . indexOf ( '@' ) )
@@ -172,26 +188,6 @@ export default class Utils {
172
188
vmlinuz = `/boot/vmlinuz-${ kernelVersion } `
173
189
}
174
190
175
- /**
176
- * If vmlinuz not found
177
- */
178
- if ( vmlinuz === '' ) {
179
- let version = 'linux'
180
- if ( distro . familyId === 'debian' ) {
181
- cmdline . forEach ( cmd => {
182
- if ( cmd . includes ( 'initrd.img' ) ) {
183
- version = cmd . substring ( cmd . indexOf ( 'initrd.img' ) + 10 )
184
- }
185
- } )
186
- } else if ( distro . distroId === 'Manjaro' ) {
187
- cmdline . forEach ( cmd => {
188
- if ( cmd . includes ( 'initrd.img' ) ) {
189
- version = cmd . substring ( cmd . indexOf ( 'initrd.img' ) + 10 )
190
- }
191
- } )
192
- }
193
- vmlinuz = '/boot/vmlinuz-' + version
194
- }
195
191
196
192
/**
197
193
* if not exists exit
0 commit comments