пользователям билдрута можно не читать..
касается использующих полноценные дистрибутивы
ядро из билдрута, версия 3.10.32
сплодил на uSD рутовую на Debian 7.0, перенаправил "root=", вполне нормально работает даже на 64МБ памяти, но при перезагрузке всплыли две проблемы:
1. работа утилиты hwclock с rtc
и прерывания от часов в нуле..
лечится добавлением строки в конце функции _probe драйвера часов
тогда и прерывания начинают инкрементироваться и утилита довольна..
2. более неприятный глюк где-то в драйвере nuc970_sd.c. суть дефекта - при команде reboot/shutdown в лог вылетает сообщение:
и после этого раздел карточки либо не видится, либо видится с кучей ошибок..
на удачу включив отладку, я подметил, что error возникает после CMD12 (нотация в стандарте MMC/SD), типа
покрутил парамет таймаута в сторону увеличения
ничего хорошего не получилось, сообщение об ошибке пропало и так же по-тихому сносит блок superuser на разделе
в билдрутовой системе такого нет, т.к. там эта команда не используется (судя по логу)..
опробованы 3 разные заведомо исправные карточки, дистрибутив рутовой рабочий, к интерфейсу uSD вопросов нет - рабочий..
есть подозрение, что китайцы при написание драйверов пользовались исключительно билдрутом и знать не знают о стандартах..
ЗЫ из-за косяка с uSD не могу мигрировать на карточку и потестить USB..
У меня на reboot почему-то происходит выключение, тоже в дебиане. Ошибки карты вылетают, но данные не портятся - сейчас несколько раз повторил перезагрузку\выключение, полет нормальный.
Ядро и корневую перенес на карту, ибо так быстрее и удобнее вносить изменения.
Перезагрузил раз 15 подряд - карта читаться перестала, фс посыпалась. Что-то в этом ядре не так. Пока решил вопрос опцией sync в fstab - это снижает скорость, но зато ничего не падает и при перезагрузке не виснет.
upd: с любыми опциями фс портится, только с sync она делает это реже.
угу, в вики сказано
"Все операции ввода-вывода должны выполняться синхронно."
т.е. не запишем, дальше не едем.. отсюда и тормоза..
а валится, по моему мнению, от косяка в драйвере в районе ожидания окончания обмена с карточкой после команды STOP, а может и перед ней..
не зря там регистр для таймаута большой, а грузят всего 0xffff
я не смотрел, что делает система при перезагрузки/останову, но где-то в конце должна записаться информация об успешности размонтирования системного раздела и видимо в этот момент прилетает команда STOP, которая рушит транзакцию в какой-нить суперблок суперюзера (тут децл фантазии)..
еще некторое время попилю а20, потом переключуть на нюк976, иначе не мигрировать на uSD..
Поставил слаку, в ней лог более подробный http://pastebin.com/mULmYQc3 . Ошибки те же, карта отключается где-то в начале перезагрузки, что ломает ФС. Надо бы на гитхаб китайцам баг завести - пусть будет, только я не знаю, как правильно написать...
упс.. неудачно отредактировал свое же.., оригинал:
"да, положил три дня на попытки поиска..
1. нашел другую версию драйвера - не помогло
2. уменьшил тактовую на sd/mmc с 50МГц до 25 и даже 20МГц - не помогло
3. покрутил тайминги - нифига
нутром чую, что китайцы что-то недописали.. беда в том, что они склонировали однопортовый исходник на двупортовый и даже на сорц для eMMC..
я поднял светодиод с функцией mmc0 - на перезагрузке/выключение видно как он взмаргивает, но том неизменно оказывается некорректно отмонтирован или убит..
на гитхаб никогда не писал - дотянутся руки, наябедничаю.."
судя по времянкам исправлений, китайцы чего-то в ядре допиливают, но куда там багрепорты заносить совершенно непонятно - я незнаком с этим механизмом, а регаться нет желания..
якобы что-то в rtc исправили, падение сетки пытаются исправить, еще какую-то мелочь..