FAQ_全志平台Tina系统改用gpt分区表后系统启动异常问题解决方法(Waiting for root device /dev/nand0p3...)

2024-02-02 15:00:08 浏览数 (2)

FAQ_全志平台Tina系统改用gpt分区表后系统启动异常问题解决方法(Waiting  for  root  device  /dev/nand0p3...)

【现象】在升级到tina3.0.7使用R328芯片的时候,系统无法启动,报错“Waiting  for  root  device  /dev/nand0p3..”

代码语言:javascript复制
[        4.012988]  Hardware  name:  sun8iw18
[        4.016922]  [<c0016a00>]  (unwind_backtrace)  from  [<c0012d30>]  (show_stack 0x10/0x14)
[        4.025637]  [<c0012d30>]  (show_stack)  from  [<c01bc2e8>]  (dump_stack 0x7c/0x98)
[        4.033766]  [<c01bc2e8>]  (dump_stack)  from  [<c001f7c8>]  (__warn 0xd8/0xf8)
[        4.041501]  [<c001f7c8>]  (__warn)  from  [<c001f88c>]  (warn_slowpath_null 0x1c/0x24)
[        4.050019]  [<c001f88c>]  (warn_slowpath_null)  from  [<c0231814>]  (_of_add_opp_table_v2 0x94/0x3b4)
[        4.060004]  [<c0231814>]  (_of_add_opp_table_v2)  from  [<c0231fdc>]  (dev_pm_opp_of_cpumask_add_table_by_soc_bin 0x80/0xc0)
[        4.072236]  [<c0231fdc>]  (dev_pm_opp_of_cpumask_add_table_by_soc_bin)  from  [<c03088ac>]  (sunxi_cpufreq_init 0x154/0x3bc)
[        4.084470]  [<c03088ac>]  (sunxi_cpufreq_init)  from  [<c03050d4>]  (cpufreq_online 0x160/0x604)
[        4.093964]  [<c03050d4>]  (cpufreq_online)  from  [<c03055dc>]  (cpufreq_add_dev 0x54/0x7c)
[        4.102971]  [<c03055dc>]  (cpufreq_add_dev)  from  [<c02218bc>]  (subsys_interface_register 0xbc/0xc8)
[        4.113051]  [<c02218bc>]  (subsys_interface_register)  from  [<c030464c>]  (cpufreq_register_driver 0x114/0x1f0)
[        4.124111]  [<c030464c>]  (cpufreq_register_driver)  from  [<c0634b84>]  (sunxi_cpufreq_initcall 0x20/0x44)
[        4.134680]  [<c0634b84>]  (sunxi_cpufreq_initcall)  from  [<c0009a5c>]  (do_one_initcall 0x140/0x174)
[        4.144662]  [<c0009a5c>]  (do_one_initcall)  from  [<c0619de4>]  (kernel_init_freeable 0x18c/0x1d4)
[        4.154450]  [<c0619de4>]  (kernel_init_freeable)  from  [<c04c4c70>]  (kernel_init 0x8/0xec)
[        4.163554]  [<c04c4c70>]  (kernel_init)  from  [<c000ed30>]  (ret_from_fork 0x14/0x24)
[        4.172107]  ---[  end  trace  47ae9e617b53b1dc  ]---
[        4.177315]  of:  dev_pm_opp_of_cpumask_add_table_by_soc_bin:  couldn't  find  opp  table  for  cpu:1,  -2
[        4.187309]  [cpu_freq]  ERR:  Failed  to  add  opp  table
[        4.193200]  cpuidle:  enable-method  property  'psci'  found  operations
[        4.200713]  cpuidle:  enable-method  property  'psci'  found  operations
[        4.209193]  sunxi-mmc  sdc1:  SD/MMC/SDIO  Host  Controller  Driver(v3.17  2018-12-17  10:17)
[        4.218303]  sunxi-mmc  sdc1:  Can't  get  vmmc  regulator  string
[        4.224602]  sunxi-mmc  sdc1:  Can't  get  vqmmc  regulator  string
[        4.230994]  sunxi-mmc  sdc1:  Can't  get  vdmmc  regulator  string
[        4.237373]  sunxi-mmc  sdc1:  Failed  getting  OCR  mask:  0
[        4.243584]  sunxi-mmc  sdc1:  set  host  busy
[        4.248122]  sunxi-mmc  sdc1:  ***set  host  ocr***
[        4.253178]  mmc:failed  to  get  gpios
[        4.257398]  sunxi-mmc  sdc1:  sdc  set  ios:clk  0Hz  bm  PP  pm  UP  vdd  21  width  1  timing  LEGACY(SDR12)  dt  B
[        4.283889]  sunxi-mmc  sdc1:  sdc  set  ios:clk  400000Hz  bm  PP  pm  ON  vdd  21  width  1  timing  LEGACY(SDR12)  dt  B
[        4.311898]  sunxi-mmc  sdc1:  detmode:manually  by  software
[        4.318755]  sunxi-mmc  sdc1:  smc  0  p1  err,  cmd  52,  RTO  !!
[        4.324976]  sunxi_get_str_of_property()1542  -  failed  to  get  the  string  of  propname  led_regulator!
[        4.334992]  sunxi-mmc  sdc1:  smc  0  p1  err,  cmd  52,  RTO  !!
[        4.341041]  sunxi-mmc  sdc1:  sdc  set  ios:clk  400000Hz  bm  PP  pm  ON  vdd  21  width  1  timing  LEGACY(SDR12)  dt  B
[        4.344952]  sunxi_led_probe()1739  -  finish
[        4.345325]  hidraw:  raw  HID  events  driver  (C)  Jiri  Kosina
[        4.345615]  usbcore:  registered  new  interface  driver  usbhid
[        4.345617]  usbhid:  USB  HID  core  driver
[        4.347085]  sunxi-daudio  daudio0:  regulator  missing  or  invalid
[        4.347562]  sunxi-daudio  daudio2:  regulator  missing  or  invalid
[        4.349639]  sunxi-codec-machine  sndcodec:  sun8iw18codec  <->  cpudai  mapping  ok
[        4.352060]  ipip:  IPv4  and  MPLS  over  IPv4  tunneling  driver
[        4.353047]  gre:  GRE  over  IPv4  demultiplexor  driver
[        4.353052]  ip_gre:  GRE  over  IPv4  tunneling  driver
[        4.354790]  Initializing  XFRM  netlink  socket
[        4.354822]  NET:  Registered  protocol  family  17
[        4.354915]  8021q:  802.1Q  VLAN  Support  v1.8
[        4.356694]  write_efuse_to_reg_ver_3:reading  environment_temp  is  zero
[        4.356700]  write_efuse_to_reg_ver_3:reading  calibration  data0  is  zero
[        4.358899]  Registering  SWP/SWPB  emulation  handler
[        4.363340]  get  det_vbus  is  fail,  84
[        4.364137]  sunxi-rtc  rtc:  hctosys:  unable  to  read  the  hardware  clock
[        4.364935]  snddaudio  snddaudio0:  codec:  snd-soc-dummy,  codec_dai:  snd-soc-dummy-dai.
[        4.365752]  snddaudio  snddaudio0:  snd-soc-dummy-dai  <->  daudio0  mapping  ok
[        4.367191]  snddaudio  snddaudio2:  codec:  snd-soc-dummy,  codec_dai:  snd-soc-dummy-dai.
[        4.367974]  snddaudio  snddaudio2:  snd-soc-dummy-dai  <->  daudio2  mapping  ok
[        4.369595]  ALSA  device  list:
[        4.369600]      #0:  audiocodec
[        4.369603]      #1:  snddaudio0
[        4.369606]      #2:  snddaudio2
[        4.503733]  Waiting  for  root  device  /dev/nand0p3...
[        4.505910]  sunxi-mmc  sdc1:  sdc  set  ios:clk  400000Hz  bm  PP  pm  ON  vdd  21  width  1  timing  LEGACY(SDR12)  dt  B
[        4.507797]  sunxi-mmc  sdc1:  smc  0  p1  err,  cmd  8,  RTO  !!
[        4.508175]  sunxi-mmc  sdc1:  card  claims  to  support  voltages  below  defined  range
[        4.517871]  sunxi-mmc  sdc1:  sdc  set  ios:clk  400000Hz  bm  PP  pm  ON  vdd  21  width  1  timing  SD-HS(SDR25)  dt  B
[        4.517939]  sunxi-mmc  sdc1:  sdc  set  ios:clk  50000000Hz  bm  PP  pm  ON  vdd  21  width  1  timing  SD-HS(SDR25)  dt  B
[        4.518084]  sunxi-mmc  sdc1:  sdc  set  ios:clk  50000000Hz  bm  PP  pm  ON  vdd  21  width  4  timing  SD-HS(SDR25)  dt  B
[        4.519008]  mmc0:  new  high  speed  SDIO  card  at  address  0001
[        8.419872]  
[        8.419872]  insmod_device_driver
[        8.419872]  
[        8.427076]  device_chose  finished  65!

【原因】

Tina系统原来使用的是mbr分区表,现在改成了gpt分区表

使用GPT的话,按sys_partitions.fex顺序命名为nand0p1,nand0p2... 使用MBR的话,按sys_partitions.fex顺序命名为nanda, nandb...

这里其实底层分区已经按gpt的格式配置好了,但是env-4.9.cfg里没有按gpt来配置,所以起不来,应该在env-4.9.cfg中配置:

代码语言:javascript复制
gpt=1

#set kernel cmdline if boot.img or recovery.img has no cmdline we will use this
setargs_nor=setenv bootargs earlyprintk=${earlyprintk} console=${console} root=${nor_root} rootwait init=${init} rdinit=${rdinit} loglevel=${loglevel} partitions=${partitions} cma=${cma}
setargs_nand=setenv bootargs earlyprintk=${earlyprintk} console=${console} root=${nand_root} rootwait init=${init} rdinit=${rdinit} loglevel=${loglevel} partitions=${partitions} cma=${cma} gpt=${gpt}
setargs_mmc=setenv bootargs earlyprintk=${earlyprintk} console=${console} root=${mmc_root} rootwait init=${init} rdinit=${rdinit} loglevel=${loglevel} partitions=${partitions} cma=${cma} gpt=${gpt

0 人点赞