On Friday, 22 July 2016 15:59:58 CEST Chen Hanxiao wrote: > From: Chen Hanxiao <chenhanxiao gmail com> > > If we failed to add something to initrd, just error out. > > Signed-off-by: Chen Hanxiao <chenhanxiao gmail com> > --- > src/ext2_initrd.ml | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/src/ext2_initrd.ml b/src/ext2_initrd.ml > index d4a4e2f..d9a3a99 100644 > --- a/src/ext2_initrd.ml > +++ b/src/ext2_initrd.ml > @@ -151,8 +151,12 @@ let rec build_initrd debug tmpdir modpath initrd = > visit topset; > close_out chan; > > + let num_visted = StringSet.cardinal !visited in > if debug >= 1 then > - printf "supermin: ext2: wrote %d modules to minimal initrd\n%!" (StringSet.cardinal !visited); > + printf "supermin: ext2: wrote %d modules to minimal initrd\n%!" num_visted; > + > + if num_visited == 0 then > + error "failed to write any modules into minimal initrd, try 'depmod -a'" > > (* This is the binary blob containing the init "script". *) > let init = binary_init () in If the "visited" set is empty, most probably also "topset" was empty too: for each module in "topset" there is at least one element added in "visited" (the module itself). Keeping into account also what Rich replied as well, I guess a warning could be added earlier. Thanks, -- Pino Toscano
Description: This is a digitally signed message part.