Routine update breaks everything, cannot mount /boot

Moderators: odroid, mdrjr

Routine update breaks everything, cannot mount /boot

Unread postby rowan194 » Fri May 04, 2018 1:44 am

Did an update (via the GUI) and on reboot it seems that /boot can no longer be mounted:

FAT-fs (mmcblk0p1): codepage cp437 not found

Linux odroid 3.10.107-192 #1 SMP PREEMPT Mon Feb 12 04:14:36 UTC 2018 arm7l armv7l armv7l GNU/Linux

From a quick web search it seems that the codepage not found error means the kernel doesn't support it? Now why wouldn't a new kernel support that?

How can I force mount /boot so that it doesn't complain about the codepage (temporary) and then how can I fix this problem permanently? I really don't want to have to rewrite a new image...

Can I grab a current uImage/uInitrd from somewhere to enable it to boot? Looks like it was compiled only a day or two ago.

Thanks



edit: By commenting out /boot from /etc/fstab I can get the board to fully boot to a desktop, but this is going to be a big fail in the long run, since /boot will be need to be mounted for future updates...

odroid@odroid:~$ sudo mount -o ro /dev/mmcblk0p1 /media/boot
mount: wrong fs type, bad option, bad superblock on /dev/mmcblk0p1,
missing codepage or helper program, or other error

In some cases useful info is found in syslog - try
dmesg | tail or so.


and in dmesg:

[ 341.672327] FAT-fs (mmcblk0p1): codepage cp437 not found
rowan194
 
Posts: 146
Joined: Tue Jun 02, 2015 1:43 am
languages_spoken: english
ODROIDs: C1, XU4, C2

Re: Routine update breaks everything, cannot mount /boot

Unread postby mad_ady » Fri May 04, 2018 2:43 am

You should run a fsck on it because it sounds like it's corrupted. And it's not /boot, it's /media/boot.
User avatar
mad_ady
 
Posts: 4942
Joined: Wed Jul 15, 2015 5:00 pm
Location: Bucharest, Romania
languages_spoken: english
ODROIDs: XU4, C1+, C2, N1

Re: Routine update breaks everything, cannot mount /boot

Unread postby rowan194 » Fri May 04, 2018 9:32 am

mad_ady wrote:You should run a fsck on it because it sounds like it's corrupted. And it's not /boot, it's /media/boot.


I've already run fsck and also checked it on a Windows system. The file system is intact.

From my research it seems the codepage error means that support for that particular character set has not been compiled into the kernel. It's something to do with the update just released.
rowan194
 
Posts: 146
Joined: Tue Jun 02, 2015 1:43 am
languages_spoken: english
ODROIDs: C1, XU4, C2

Re: Routine update breaks everything, cannot mount /boot

Unread postby rooted » Fri May 04, 2018 9:58 am

You are correct, I dug in and looked for you. It is built as a module and should be built in.

C1 Kernel
Code: Select all
cat tmp/boot/config-3.10.107-192 | grep CODEPAGE_437
CONFIG_NLS_CODEPAGE_437=m


XU4 Kernel
Code: Select all
zcat /proc/config.gz | grep CODEPAGE_437
CONFIG_NLS_CODEPAGE_437=y


Temporary solution (untested).

Code: Select all
sudo modprobe nls_cp437


I filled a bugreport for you as well.

https://github.com/hardkernel/linux/issues/351
User avatar
rooted
 
Posts: 5911
Joined: Fri Dec 19, 2014 9:12 am
Location: Gulf of Mexico, US
languages_spoken: english

Re: Routine update breaks everything, cannot mount /boot

Unread postby rowan194 » Fri May 04, 2018 5:27 pm

Thanks rooted, did try your solution but unfortunately it doesn't work. The only dir in /lib/modules was last updated nearly 2 years ago (along with the contents) :

Code: Select all
odroid@odroid:~$ sudo modprobe nls_cp437
[sudo] password for odroid:
modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/3.10.107-192/modules.dep.bin'
modprobe: FATAL: Module nls_cp437 not found in directory /lib/modules/3.10.107-192

odroid@odroid:~$ ls -l /lib/modules
total 4
drwxr-xr-x 3 root root 4096 Jul 14  2016 3.10.96-154


The fstab workaround means I can boot and use the device for now... but I'm wondering how I'm going to update a kernel sitting on a FAT file system when I can't mount that file system on the C1. :) I'm hoping it's as simple as having to replace a couple of files on the boot partition, rather than having to (simultaneously) update files on both the FAT and ext partitions...
rowan194
 
Posts: 146
Joined: Tue Jun 02, 2015 1:43 am
languages_spoken: english
ODROIDs: C1, XU4, C2

Re: Routine update breaks everything, cannot mount /boot

Unread postby rooted » Sat May 05, 2018 1:29 am

That looks like a failed kernel upgrade really.
User avatar
rooted
 
Posts: 5911
Joined: Fri Dec 19, 2014 9:12 am
Location: Gulf of Mexico, US
languages_spoken: english

Re: Routine update breaks everything, cannot mount /boot

Unread postby rowan194 » Sat May 05, 2018 7:59 am

Haven't really done anything unusual, maybe a couple of times a month I do the updates offered by the GUI. There's been a few times that boot.ini has been reset to defaults and I had to change it back; this was one of them. It invited me to reboot, which I did.
rowan194
 
Posts: 146
Joined: Tue Jun 02, 2015 1:43 am
languages_spoken: english
ODROIDs: C1, XU4, C2

Re: Routine update breaks everything, cannot mount /boot

Unread postby rooted » Sat May 05, 2018 9:04 am

What you are going to have to do is manually update the kernel, you will have to do it on a Linux machine.

Download the kernel and extract it to the proper locations.

http://deb.odroid.in/c1/pool/main/l/lin ... _armhf.deb

Code: Select all
wget http://deb.odroid.in/c1/pool/main/l/linux-source-3.10.107-192/linux-image-3.10.107-192_20180212_armhf.deb
mkdir kern
dpkg-deb -R linux-image-3.10.107-192_20180212_armhf.deb kern/


Copy files from kern/boot into the SD card /boot and copy kern/lib/modules/3.10.107-192 into SD card /lib/modules
User avatar
rooted
 
Posts: 5911
Joined: Fri Dec 19, 2014 9:12 am
Location: Gulf of Mexico, US
languages_spoken: english

Re: Routine update breaks everything, cannot mount /boot

Unread postby joerg » Sun Sep 23, 2018 9:09 pm

I can confirm, after I compiled a custom kernel I got
FAT-fs (mmcblk0p1): codepage cp437 not found

I had to change the config to
CONFIG_NLS_CODEPAGE_437=y

and compile again, to solve this.
joerg
 
Posts: 808
Joined: Tue Apr 01, 2014 2:14 am
Location: Germany
languages_spoken: german, english, español
ODROIDs: C1, C1+, C2


Return to Ubuntu

Who is online

Users browsing this forum: No registered users and 3 guests