Титла: NLS cp1251 + mount VFAT ? Публикувано от: Agent_SMITH в Aug 25, 2004, 15:13 Здравейте:
Забелязах, че при зареждане на системата ми се появяват някои "нови" съобщения. dmesg ми показа, че става въпрос за следното:
Ядрото в тази секция е настроено така:
Мисля си дали не е необходимо да включа # CONFIG_NLS_CODEPAGE_1251, но се изморих от проба/грешка тея дни и реших да попитам първо ![]() /etc/fstab е следният:
Не мога да монтирам /dev/hdb5 въпреки, че fstab не е пипан от бая време, и преди да мина на 2.6.8 работеше. Т.е. по дедукция аз съм оплескал нещо при компилирането, което го спъва... Въпроса ми е, как да се отърва от тоя NLS, след като ползвам кирилица само за писане... Нямам локализирани програми (и не искам да имам) ![]() и Ако проблема с dev/hdb5 не е свързан с NLS, как да го монтирам? Титла: NLS cp1251 + mount VFAT ? Публикувано от: alex_c в Aug 25, 2004, 16:09 Ами ти почти "задаваш отговори" -:))), Само че NLS-а няма нищо общо с писането на кирилица в текстови файлове, а определя как да се изписват имената на файловете на монтираните дялове. Като гледам ти си пропуснал да включиш в ядрото поддръжка на поне една кодова таблица (NLS - National Language Support). И интересмон, защо си задал cp1251 по одразбиране, а не си го включил в ядрото. Съветвам те да включиш директно или като модул поне cp437, cp855, cp1250, cp1251, iso8859-1, iso8859-5, koi-8u, koi-8r, utf-8. Можеш да компилираш като модули всичките, не искат много време за компилиране. А иначе за формата на fstab-а, при мен е:
/dev/hda1 /mnt/nt ntfs defaults,ro,nouser,auto,umask=002,iocharset=cp1251 0 0 /dev/hda5 /mnt/windows vfat defaults,rw,nouser,exec,umask=000,iocharset=cp1251,showexec 0 0 Това е за ядро 2.4.хх. При 2.6.хх имаше някакви разлики във формата на командите, но не се сещам в момента. Спомням си, обаче, че преди време имаше писано нещо за това във форума, можеш да потърсиш, нали ти го администрираш (така де -;))) Best wishes! Alex Титла: NLS cp1251 + mount VFAT ? Публикувано от: в Aug 25, 2004, 16:53
![]() Интересно обаче е съобщението, което ми изписва: comp:/# mount -t vfat /dev/hdb5 /six/ mount: wrong fs type, bad option, bad superblock on /dev/hdb5, or too many mounted file systems Едно по едно - дяла е ФАТ32, опцията си е баш както трябва, суперблок? не знам как да го проверя освен fsck, който казва "сичко е ОК", а това за прекалено много монтирани ФС... няма и пет дори... не ме разочаровай ![]() Ха сега де? ![]() Титла: NLS cp1251 + mount VFAT ? Публикувано от: melwin в Aug 25, 2004, 17:19 Интересно .. какво мисли по въпроса fdisk -l /dev/hdb
Титла: NLS cp1251 + mount VFAT ? Публикувано от: Agent_SMITH в Aug 25, 2004, 18:13
Disk /dev/hdb: 122.9 GB, 122942324736 bytes 240 heads, 63 sectors/track, 15881 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/hdb1 1 15034 113657008+ c W95 FAT32 (LBA) /dev/hdb2 15035 15881 6403320 f W95 Ext'd (LBA) /dev/hdb5 15035 15881 6403288+ b W95 FAT32 Титла: NLS cp1251 + mount VFAT ? Публикувано от: alex_c в Aug 25, 2004, 19:04 Ами какво искаш да ти пише, като нямаш никаква поддръжка на NLS в ядрото. За потвърждение на казаното направих следния експеримент на компютра си:
Както вече писах, имам дял /dev/hda5 с vfat, монтиран на /mnt/windows Демонтирам го с: #umount /mnt/windows Аз знам, че не съм включил поддръжка на cp936 в ядрото, затова се опитвам да монтирам дяла с кодова таблица cp936, като в отделен терминал следя съобщенията от ядрото с tail -f /var/log/messages: При изпълнение на командата: mount -t vfat /dev/hda5 /mnt/windows/ -o iocharset=cp936 се връща познатия отговор mount: wrong fs type, bad option, bad superblock on /dev/hda5, or too many mounted file systems а от /var/log/messages се чете: Aug 25 18:58:14 hawk kernel: MSDOS FS: IO charset cp936 Aug 25 18:58:14 hawk kernel: FAT: freeing iocharset=cp936 което ме навява на мисълта, че ядрото не харесва тази кодова таблица, защото не я поддържа. Ако се опитам да монтирам дяла с mount -t vfat /dev/hda5 /mnt/windows/ -o iocharset=cp1251 или само с mount /dev/hda5, няма проблеми, а от /var/log/messages се чете: Aug 25 19:04:07 hawk kernel: MSDOS FS: IO charset cp1251 Ето защо, още един път ти казвам, прекомпилирай ядрото Best wishes! Alex Титла: NLS cp1251 + mount VFAT ? Публикувано от: в Aug 25, 2004, 19:17 Алекс,
По твоя съвет прекомпилирах, като не зададох модули, а напротив, включих в ядрото 855, 1251, 8859-1, 8859-2, UTF-8 и куп други... това съобщение се появява дори след като тези кодови таблици са включени в ядрото! Съжелявам, че не съм си пред машината за да ти дам .config, fstab и опитите с mount директно... Вероятно въпроса ми трябва да претърпи еволюция и да стане: "Как да разбера коя кодова таблица ми трябва за еди-кой-си VFAT дял..." Преди да пиша отново по темата, ще прекомпилирам с включени в ядрото всички човешки (без chinese, japan, korean и др. йероглифни) таблици, и опит да монтирам... ![]() Титла: NLS cp1251 + mount VFAT ? Публикувано от: alex_c в Aug 25, 2004, 21:12 Агенте, както по-рано казах (писах), има разлика в опциите между 2.4.хх и 2.6.хх
Виж този постинг: http://www.linux-bg.org/cgi-bin....and+2.6 Титла: NLS cp1251 + mount VFAT ? Публикувано от: alabal в Aug 25, 2004, 21:54 Smith, просто махни iocharset от fstab и пробвай пак.
Титла: NLS cp1251 + mount VFAT ? Публикувано от: Agent_SMITH в Aug 26, 2004, 00:59 Ай, ай, ай... колко съм разсеян...
При предишното прекомпилиране бях задал default = iso8859-1, а самото него бях оставил not set... Поправих тази очевидна грешка. Опитах отново. Сега парадокса в моите очи е тотален, защото: 1. /boot/config-2.6.8 съдържа в секцията NLS следното:
2. Файла /etc/fstab изглежда по следния начин:
3. /var/log/messages показва проблем с кодова таблица cp437, която е компилирана в ядрото!!! :
По подразбиране (default) съм указал кодова таблица iso8859-1, която (вече) е компилирана в ядрото. Когато обаче му задам: #mount -t vfat /dev/hdb5 /six/ -o iocharset=iso8859-1 /var/log/messages отново показва: Aug 26 00:51:52 area51 kernel: Unable to load NLS charset cp437 Разбира се, директно пробвах както #mount -t vfat /dev/hdb5 /six/ така и #mount -t vfat /dev/hdb5 /six/ -o iocharset=ср437 Излишно е да казвам, че резултата е същия. ![]() Както и при всички други мои проблеми зная, че пропускам нещо много малко, нещо почти невидимо на пръв поглед, същевременно толкова очевидно... Но този път съм истински затруднен. Почти всички кодови таблици са компилирани в ядрото. Включително и cp437. От файла /etc/fstab съм премахнал изричното указване на кодова таблица. И въпреки това, този дял не се монтира... След като си открих баналния пропуск да укажа default кодова таблица без да я компилирам, бях почти убеден че след като я включа, всичко ще се "отпуши". Уви, не съм бил прав. Титла: NLS cp1251 + mount VFAT ? Публикувано от: Agent_SMITH в Aug 26, 2004, 09:03 Горещи новини
![]() Снощи с помоща на брат Алабал открихме, че имаме разлка в настройките на ядрото в секцията MSDOS/FAT...(каквото там беше) и по-конккретно кодовите таблици за тези файлови системи. След като (за кой ли път) промених настройките и оставих машината да компилира, тази сутрин презаредих. Сега системата прави: Loading Linux ...................................................... И преди нормално следващия ред BIOS data check successfull всичко спира. И на екрана стои Loading linux ......... и до там. ![]() Ще помоля който може, да пусне тук копие от конфигурацията на своето ядро за секциите FILE SYSTEMS и NLS. Титла: NLS cp1251 + mount VFAT ? Публикувано от: melwin в Aug 26, 2004, 10:15 CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y CONFIG_VFAT_FS=y CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" CONFIG_NTFS_FS=m # CONFIG_NTFS_DEBUG is not set CONFIG_NTFS_RW=y . . CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_775 is not set # CONFIG_NLS_CODEPAGE_850 is not set # CONFIG_NLS_CODEPAGE_852 is not set # CONFIG_NLS_CODEPAGE_855 is not set # CONFIG_NLS_CODEPAGE_857 is not set # CONFIG_NLS_CODEPAGE_860 is not set # CONFIG_NLS_CODEPAGE_861 is not set # CONFIG_NLS_CODEPAGE_862 is not set # CONFIG_NLS_CODEPAGE_863 is not set # CONFIG_NLS_CODEPAGE_864 is not set # CONFIG_NLS_CODEPAGE_865 is not set # CONFIG_NLS_CODEPAGE_866 is not set # CONFIG_NLS_CODEPAGE_869 is not set # CONFIG_NLS_CODEPAGE_936 is not set # CONFIG_NLS_CODEPAGE_950 is not set # CONFIG_NLS_CODEPAGE_932 is not set # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_CODEPAGE_1250 is not set CONFIG_NLS_CODEPAGE_1251=m # CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=m za 2.6.7 Титла: NLS cp1251 + mount VFAT ? Публикувано от: Agent_SMITH в Aug 26, 2004, 11:33 Мерси братко Мелвин.
Както се очакваше и писах по-горе и този проблем не излиза от рамката на "нещо малко, очевадно и досадно" Agent ntenev ми помогна, като ме накара да изрина всичкия талаш(инструкциите) от lilo.conf и да го приведа в ред. След промените разбира се излълних и #lilo, което се оказа понастоящем съм пропуснал да направя снощи. (няма изчервена иконка да я сложа тук) Тръгна и зареждането, и кодовите таблици, и дяловете... всичко. За тези, които ще ползват търсачката за подобен проблем, ще обобщя: При проблеми с NLS, cp437 или "mount: wrong fs type, bad option, bad superblock on /dev/hda5, or too many mounted file systems", проблема почти винаги се корени в липсваща поддръжка на NLS (Native Language Support) в ядрото, неуказани кодови таблици за VFAT дяловете или указани грешни такива и абсолютно винаги по вина на ПКУ (пред-клавиатурното устройство) ![]() Нещата, които трябва да се "пипнат" са в ядрото - секция FILESYSTEMS. Бележка и към себе си - винаги след промяна в lilo.conf изпълнявайте #lilo да ви е мирна главата. ![]() Благодаря на alabal, alex_c, melwin & ntenev за търпението и напътствията. Най-вече за търпението ![]() Титла: NLS cp1251 + mount VFAT ? Публикувано от: в Aug 26, 2004, 13:02 Братко, Smith!
Публикувай грешните опции на lilo, че ми е интересно и ще е полезно. Ако не си записвал повече от веднъж - намират се в /etc/lilo.conf~ Титла: NLS cp1251 + mount VFAT ? Публикувано от: Agent_SMITH в Aug 26, 2004, 14:48 Няма грешни опции в lilo.conf. Грешката е моя, че след промени там не съм изпълнил lilo.
![]() Колкото до /etc/fstab - там не оставих нищо свързано с кодовите таблици. Ето го, за всеки случай:
![]() |