adb.c読んでいて理解したんだけど、adbdがusb開いて待ち受けるのね。
確かに、プロセス単位にusbポートとパイプするんだっけか。
だから、adbdが起動しない限り、lsusbに糞芝いなくて正解という。
kernelの奥底(msm)まで追って行ったんだけど答を得られなかった。
grep -r 糞芝 ./ で根こそぎ改訂箇所も追ってみたんだけど、それでも。
唯一、れれ?と思ったのは
pm.c pm2.c
static int msm_reboot_call
(struct notifier_block *this, unsigned long code, void *_cmd)
{
if ((code == SYS_RESTART) && _cmd) {
char *cmd = _cmd;
if (!strcmp(cmd, "bootloader")) {
restart_reason = 0x77665500;
} else if (!strcmp(cmd, "recovery")) {
restart_reason = 0x77665502;
の後に
msm_proc_comm(PCOM_RESET_CHIP, &restart_reason, 0);
なので、msm仕様読まないとね。
init.Sも読んだけど、その前だな、知りたいの。
なんか、方向性が間違っているような気もしている。
なんか、とてつもない勘違いをしている気もする。
いつものことだから。
dmesg
<6>[ 0.000000] Partition (from atag) boot -- Offset:2b7 Size:50
<6>[ 0.000000] Partition (from atag) system -- Offset:307 Size:a8c
<6>[ 0.000000] Partition (from atag) cache -- Offset:d93 Size:320
<6>[ 0.000000] Partition (from atag) recovery -- Offset:10b3 Size:50
<6>[ 0.000000] Partition (from atag) userdata -- Offset:1103 Size:efd
<6>[ 0.000000] Partition (from atag) -- Offset:2b7 Size:0
<5>[ 0.308556] 0x0000056e0000-0x0000060e0000 : "boot"
<5>[ 0.315293] 0x0000060e0000-0x00001b260000 : "system"
<5>[ 0.570475] 0x00001b260000-0x000021660000 : "cache"
<5>[ 0.635471] 0x000021660000-0x000022060000 : "recovery"
<5>[ 0.642268] 0x000022060000-0x000040000000 : "userdata"
<5>[ 0.954340] 0x0000056e0000-0x000040000000 : ""