Wiki

Clone wiki

comp-house.repo / ac100-sos-change-root

В процессе отладки часто приходится менять корневую партицию, чтобы использовать разные rootfs. Надоело каждый раз ковырять руками, написал скрипт, который позволяет выборочно изменить параметр ядра root=/dev/XXX на нужный. При этом ставилась задача обойтись тем, что есть в линуксовом рескуйном образе.

Использовать скрипт просто:

  1. Положить его куда нибудь на флешку.
  2. загрузиться в спасательный режим и смонтировать эту флешку
  3. запустить скрипт с параметром - устройством.

Например, /mnt/flashka/change-root mmcblk0p3

Текст

cmdline=`abootimg -i /dev/mmcblk0p2 | grep cmdline | sed -r "s/.*(cmdline.*)/\1/"`
echo current cmdline: $cmdline
root=`echo $cmdline | grep -oE "root=[^ ]+"`
newroot="root=/dev/"$1
echo change $root to $newroot

newcmdline=`echo $cmdline | sed  "s|$root|$newroot|g"`
echo $newcmdline

abootimg -u /dev/mmcblk0p2 -c "$newcmdline"

Updated