My slow boot boils down to udev being the final remaining problem, preventing me from booting in less than 75 seconds, which is simply too darned slow. I'm not a linux kernel expert at all. I've searched and searched and found lots of different avenues, but none of which I understand enough about to follow. For example, I believe I might be best off changing things to not use udev at all, but mknod instead. And my own thought is to do this in my tar ball before flashing nand, so that all the devices are ready to go with no time to be spent on them at all during boot. But I have no clue how to do this. Or how to do what I should possibly do instead.
So, your help with this would be GREATLY appreciated.
Note as an aside, I've discovered something interesting that I don't understand. I was able to speed my jffs2 mount up from 25 seconds to as fast as 6 seconds, merely by making my file system smaller (58K->15K). However, in doing so, udev slowed down from 15 seconds to 90 seconds. In hopes of getting the best times of both worlds, I investigated. My 58K file system inadvertently included a /mnt/nand folder on my Ubuntu host nfs, which seemed redundant. It make sense that everything on my host nfs EXCEPT that /mnt/nand stuff should go onto the target's /mnt/nand. I deleted that /mnt/nand from the host nfs and made a new tar.gz, then extracted it onto my target. The file system size shown by "df" fell t 15K. But then when I booted, I found udev doing much more work, doing many mknod's that it didn't do before. It's as if the target could see the /mnt/nand stuff in addition to the root file system stuff, and this was impacting what udev does. This is a bit complicated to explain; sorry. But the target shouldn't even see that stuff extracted to /mnt/nand, because the actual nand should go into that place. But regardless, this had that kind of impact. And the extra mknod's of many, many tty* files takes forever. If I can fix this directly, or get rid of udev altogether, then I should have little to zero time creating devices, in addition to a small file system and 6 second jffs2 mount. Well, I tried something that didn't help. I noticed the running target had all these tty* files, all the way up to ttyzf, and there were not in the Ubuntu host nfs version of /dev. I copied them from the target (while nand booted and separately mounting nfs) over to the host, and then re-did the whole tar ball compress extract thing. I confirmed they now existed on the actual nand in folder /dev. But when I booted again with nand file system, udev still recreated all of them rather than taking the ones that were there. Well, perhaps you can help me with this. But even if I can get around this problem, which might get me back to 15 seconds for udev, I *should* be able to hard code those devices and get down to nearly 0 seconds for this task.
Again, your help is greatly appreciated.