A workaround to make sure /dev/mtd0 can be created when memdisk is used.
This is due to sometimes "modprobe phram" can not successfully create /dev/mtd0.
Have to try several times.
Ref: https://gitlab.gnome.org/GNOME/gparted/issues/50#note_523831
http://gparted-forum.surf4.info/viewtopic.php?pid=32784#p32784
if [ $? -eq 0 ]
then
# We found a memdisk, set up phram
- modprobe phram phram=memdisk,${MEMDISK}
- modprobe phram phram=memdisk,${MEMDISK}
+ # Sometimes "modprobe phram" can not successfully create /dev/mtd0.
+ # Have to try several times.
+ max_try=20
+ while [ ! -c /dev/mtd0 -a "$max_try" -gt 0 ]; do
+ modprobe phram phram=memdisk,${MEMDISK}
+ sleep 0.2
+ if [ -c /dev/mtd0 ]; then
+ break
+ else
+ rmmod phram
+ fi
+ max_try=$((max_try - 1))
+ done
# Load mtdblock, the memdisk will be /dev/mtdblock0
modprobe mtdblock