Re: [PATCH 2/2 v3] initramfs: print error and shell out for unsupported content

From: Alexander Holler
Date: Tue Apr 01 2014 - 13:52:29 EST


Am 01.04.2014 14:23, schrieb Michal Marek:
On 2014-04-01 13:23, Alexander Holler wrote:
But as I already said, trying to use arbitrary filenames in a Makefile
doesn't really work. There are still other problems, e.g. filenames with
a / (directory separator), *, or some of the special make variables like $<.

So the really working solution would be to get rid of that generated
(and hidden) include. Modifying gen_init_cpio.c to browse and collect
all filenames and types itself doesn't look like much work (an evening
should be enough).

The drawback is that such a solution would build the initramfs every
time make is called (while CONFIG_INITRAMFS_SOURCE points to a
directory), but I think that time is negligible.

Well, the cpio is embedded in the kernel image, so a rebuild of the cpio
means a relink of the kernel. One option would be to implement the
timestamp checking in gen_init_cpio.c, but I'm not sure if that's worth it.

I can't answer that too, but if someone spends the time implement the directory traversing and collecting stats, it would just be one stat more (to get the timestamp of an maybe already built cpio archive).

But I'm fine with just avoiding the most common problems (in my case colons and spaces). And the little patch which makes sure that make clean, distclean or mrproper will work always, avoids the need to search how to fix the problem (deleting that hidden include) once a broken include was generated.

Regards,

Alexander Holler

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/