[Eisfair_dev] [e1] Installer 2.7.2-2.20.1

Thomas Bork tom at eisfair.org
Di Mai 3 00:44:10 CEST 2016


Am 03.05.2016 um 00:17 schrieb ich:

> Eventuell zeigen uns die geposteten Patches etwas näher, wo es genau
> klemmt. Der Zotac hier faselt etwas von DRM beim File-System, eventuell
> gibt das einen anderen Rückgabewert als 0, EACCES oder EINVAL...

Der Patch gegen unseren Kernel:

testeis 2.7.2 # diff -Nurp do_mounts.c.org do_mounts.c
--- do_mounts.c.org     2015-12-30 03:26:04.000000000 +0100
+++ do_mounts.c 2016-05-03 00:16:57.404042396 +0200
@@ -344,6 +344,7 @@ void __init mount_block_root(char *name,
         char *fs_names = __getname_gfp(GFP_KERNEL
                 | __GFP_NOTRACK_FALSE_POSITIVE);
         char *p;
+       int mnt_err;
  #ifdef CONFIG_BLOCK
         char b[BDEVNAME_SIZE];
  #else
@@ -352,15 +353,21 @@ void __init mount_block_root(char *name,

         get_fs_names(fs_names);
  retry:
+       printk("---> EACCESS=%u, EINVAL=%u, Available filesystems:", 
EACCES, EINVAL);
         for (p = fs_names; *p; p += strlen(p)+1) {
-               int err = do_mount_root(name, p, flags, root_mount_data);
-               switch (err) {
+               printk(" %s", p);
+       }
+       printk("\n");
+       for (p = fs_names; *p; p += strlen(p)+1) {
+               mnt_err = do_mount_root(name, p, flags, root_mount_data);
+               printk("-----> Tried %s, error code is %d.\n", p, mnt_err);
+               switch (mnt_err) {
                         case 0:
                                 goto out;
                         case -EACCES:
                                 flags |= MS_RDONLY;
                                 goto retry;
-                       case -EINVAL:
+                       default:
                                 continue;
                 }
                 /*
@@ -371,8 +378,8 @@ retry:
  #ifdef CONFIG_BLOCK
                 __bdevname(ROOT_DEV, b);
  #endif
-               printk("VFS: Cannot open root device \"%s\" or %s\n",
-                               root_device_name, b);
+               printk("VFS: Cannot open root device \"%s\" or %s: error 
%d\n",
+                               root_device_name, b, mnt_err);
                 printk("Please append a correct \"root=\" boot option; 
here are the available partitions:\n");

                 printk_all_partitions();

-- 
der tom
[eisfair-team]


Mehr Informationen über die Mailingliste Eisfair_dev