Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Can somebody show me how to make Gentoo mount my USB? This is what I got when trying mount /dev/sdb1 /mnt:

mount: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so

dmesg says:

FAT: codepage cp437 not found

share|improve this question
up vote 5 down vote accepted

You need to set codepage and charset in kernel options:

make menuconfig -> File systems:
-> Native language support:
<*>   Codepage 437 (United States, Canada)
<*>   NLS ISO 8859-1  (Latin 1; Western European Languages)

-> DOS/FAT/NT Filesystems
(437) Default codepage for FAT
(iso8859-1) Default iocharset for FAT

and then recompile kernel...

share|improve this answer
just got this fixed by checking all available NLS and codepages :) – phunehehe Dec 8 '10 at 12:36
I'd add to this, that the options are country-dependent. Values in place of iso8859-1 and 437 differ for different regions. – rozcietrzewiacz Jul 29 '11 at 7:10

It seems that you do not have the "codepage cp437" support in the kernel.

Try to Look inside your /proc/config.gz file and search for a line like CONFIG_NLS_CODEPAGE_437=m or CONFIG_NLS_CODEPAGE_437=y. If you do not find it, you'll have to recompile the kernel to add the needed module.

share|improve this answer
some progress, right now it's saying FAT: IO charset iso8859-1 not found – phunehehe Nov 13 '10 at 15:17
you have to add also "NLS ISO 8859-1" support to your kernel. :-/ Probably, 437 is your default codepage and 8859-1 is the real usb-stick encoding (so you need both). – andcoz Nov 16 '10 at 15:17

First, make the mountpoint:

$ mkdir /mnt/udisk

Then, mount the USB drive, specifying the filesystem:

$ mount -t vfat -o defaults,utf8 /dev/sdb1 /mnt/udisk

If it were NTFS, you could use:

$ mount -t ntfs-3g -o defaults,utf8 /dev/sdb1 /mnt/udisk

Or for ISOs:

$ mount -o loop diskimage.iso /mnt/iso
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.