Jump to content

    

Общие знания по Linux/ARM

Проверить не могу, к сожалению:

dd if=/dev/zero of=/tmp/fs bs=4k count=100
mkfs.ntfs /tmp/fs
/tmp/fs is not a block device.
Refusing to make a filesystem here!

Читайте: NTFS чувствительна к регистру, т.е. можно создать файлы xXXx, XxxX и XXxx — и это будут разные файлы! Выкиньте уже свою мастдайку!

Share this post


Link to post
Share on other sites
PS у бареметал, в силу закрытости разработки, есть очевидные минусы, помимо потраченных сил - изобретение велосипедов с нуля (для поддержки стандартных протоколов и интерфейсов) и куча багов, которые в опенсорс вылавливает сообщество..

 

Скажем так, с нуля тут тоже никто не изобретает, ибо на "правильные" чипы идет planform SDK, где уже практически на все железо есть драйвера, да, протоколы надо реализовывать, но большой сложности в этом нет.

А насчет кучи багов, которые якобы отлавливаются кем-то... Во первых, отлавливается то, что использует большинство, например сетевые стеки, ФС и т.д. Но в задачах, особенно нетривиальных, приходится писать свои драйвера, возможно протоколы и программы, и не на баше и пр. скриптах, а на чистом Си, как правило, и вот тут все куда хуже, надо знать все закоулки ОС, в которой будет работать программа, отлавливать те же глюки и никакое сообщество тут не поможет...

Просто в большинстве своем, на том же линуксе сделают какой-то скрипт, подсунут стандартный драйвер и ба, заработало...Так это типичный подход ардуинщика... А реально программировать на нем умеют единицы.

 

ЗЫ. Ну и сам столкнулся в свое время с проблемой. На сд-карте, кде была основная часть линуксовых файлов, с корневой ФС и т.д. У клиента слетела ФС, то-ли при отключении питания и происходила запись логов, то=ли еще что, но перестала загружаться система, клиент полный дуб в линуксе и вообще неуверенный пользователь ПК. Вот как мне ему объяснить все процессы восстановления линуксовой системы??? Проще приехать через пол-страны и сделать самому... Вот тогда и решил, что на сд-карте будет только бинарь программы, конфиг и все под фат32, которую можно использовать на любом компе. Проблема исчезла сама собой :rolleyes:

Edited by mantech

Share this post


Link to post
Share on other sites
Проверить не могу, к сожалению:

Так loop device в помощь, только размер NTFS-раздела должен быть больше 1Мбайт.

Создает разные файлы. Как их видит и как работает с ними винда - не в курсе.

Share this post


Link to post
Share on other sites
Но в задачах, особенно нетривиальных, приходится писать свои драйвера, возможно протоколы и программы, и не на баше и пр. скриптах, а на чистом Си, как правило, и вот тут все куда хуже, надо знать все закоулки ОС, в которой будет работать программа, отлавливать те же глюки и никакое сообщество тут не поможет...

Просто в большинстве своем, на том же линуксе сделают какой-то скрипт, подсунут стандартный драйвер и ба, заработало...Так это типичный подход ардуинщика... А реально программировать на нем умеют единицы.

 

Я вот не умею пока что писать ни дрове, ни скрипты на ось (в данном случае у меня андроид и врядли это изменится). Поэтому и смотрю в сторону добавления обработки CAN шины внутри оси, более того реализовать наш протокол поднятый на шине и наверх уже давать удобный интерфейс по самому протоколу.

Возможно скриптами или чем-то еще это сделать гораздо проще, но я пока слабо разбираюсь в этом деле и не вижу решения.

Share this post


Link to post
Share on other sites
Так loop device в помощь, только размер NTFS-раздела должен быть больше 1Мбайт.

При чем здесь loop? Все остальные mkfs работают с файлами, а ntfs файл не хочет форматировать, сделал 2МБ, та же песня:

dd if=/dev/zero of=mdtest bs=1k count=2048
mkfs.ntfs mdtest
mdtest is not a block device.
Refusing to make a filesystem here!

 

А, дурак я! Опцию '-F' надо было указать!

mkfs.ntfs -F mdtest
...
mount -o loop mdtest 1
cd 1
>> Xxx
>> XxX
>> XXX
>> xxx
ls
xxx  Xxx  XxX  XXX

На всякий случай еще так:

cd ..
umount 1
mount -o loop mdtest 1
ls 1
xxx  Xxx  XxX  XXX

 

Что и требовалось доказать! Но, как я говорил уже, даже в вики написано, что регистрозависимые имена!

Edited by Эдди

Share this post


Link to post
Share on other sites
Что и требовалось доказать! Но, как я говорил уже, даже в вики написано, что регистрозависимые имена!
Если вы внимательно прочитаете то, что написано по вашей же ссылке на stackoverflow, то увидите:
the case sensitivity of file opening or creation is mediated by the FILE_FLAG_POSIX_SEMANTICS flag passed to CreateFile.

Ну и кто тут у нас выставляет FILE_FLAG_POSIX_SEMANTICS?

 

Для чистоты эксперимента создайте в Линуксе tar с файлами с отличающимися регистром именами, и распакуйте его в Венде. Не на ntfs через fuse в Линуксе, а в самой что ни на есть нативной Венде.

 

 

Share this post


Link to post
Share on other sites

А нафиг мне эта ваша мастдайка сдалась?

Вопрос был о регистрозависимости имен файлов в NTFS, это так. А то, что вы пользуетесь каким-нибудь древним хрюнделем, где не поддерживается регистрозависимость имен файлов, — исключительно ваши проблемы!

Edited by Эдди

Share this post


Link to post
Share on other sites
А нафиг мне эта ваша мастдайка сдалась?

Вопрос был о регистрозависимости имен файлов в NTFS, это так. А то, что вы пользуетесь каким-нибудь древним хрюнделем, где не поддерживается регистрозависимость имен файлов, — исключительно ваши проблемы!

 

Такое ощущение, порой что с 16 летней школотой тут общаешься. Мастдайка...

 

Не поддерживает Windows разные регистры в названиях. NTFS поддерживает, а Win нет. Специально запустил вируталку чтобы заскриншотить.

 

Основная проблема в сборке ядра на Windows это регистрозависимые имена файлов.

 

Специально запустил вируталку чтобы заскриншотить.

post-23021-1521980103_thumb.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this