| Submitter | Ming Liu |
|---|---|
| Date | Nov. 30, 2012, 10:19 a.m. |
| Message ID | <1354270768-5265-1-git-send-email-ming.liu@windriver.com> |
| Download | mbox | patch |
| Permalink | /patch/39945/ |
| State | New |
| Headers | show |
Comments
On 11/30/2012 02:19 AM, Ming Liu wrote: > /etc/init.d/urandom fails to start/stop because it tries to save > random-seed into /var/lib/urandom folder which does not exist in the > file system. > Why not create it in the recipe's do_install? Or possibly add it to volatiles file. Also talk with Qi Chen about the readonly FS stuff to make sure this will work. Sau! > Fixed by using /var/lib/misc instead of /var/lib/urandom. > > Signed-off-by: Ming Liu <ming.liu@windriver.com> > --- > meta/recipes-core/initscripts/initscripts-1.0/urandom | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/meta/recipes-core/initscripts/initscripts-1.0/urandom b/meta/recipes-core/initscripts/initscripts-1.0/urandom > index eb3a7c3..1cf7c5c 100755 > --- a/meta/recipes-core/initscripts/initscripts-1.0/urandom > +++ b/meta/recipes-core/initscripts/initscripts-1.0/urandom > @@ -14,18 +14,19 @@ > test -c /dev/urandom || exit 0 > . /etc/default/rcS > > +SAVEDFILE=/var/lib/misc/random-seed > case "$1" in > start|"") > test "$VERBOSE" != no && echo "Initializing random number generator..." > # Load and then save 512 bytes, > # which is the size of the entropy pool > - if test -f /var/lib/urandom/random-seed > + if test -f $SAVEDFILE > then > - cat /var/lib/urandom/random-seed >/dev/urandom > + cat $SAVEDFILE >/dev/urandom > fi > - rm -f /var/lib/urandom/random-seed > + rm -f $SAVEDFILE > umask 077 > - dd if=/dev/urandom of=/var/lib/urandom/random-seed count=1 \ > + dd if=/dev/urandom of=$SAVEDFILE count=1 \ > >/dev/null 2>&1 || echo "urandom start: failed." > umask 022 > ;; > @@ -34,7 +35,7 @@ case "$1" in > # see documentation in linux/drivers/char/random.c > test "$VERBOSE" != no && echo "Saving random seed..." > umask 077 > - dd if=/dev/urandom of=/var/lib/urandom/random-seed count=1 \ > + dd if=/dev/urandom of=$SAVEDFILE count=1 \ > >/dev/null 2>&1 || echo "urandom stop: failed." > ;; > *) >
On 12/01/2012 03:24 AM, Saul Wold wrote: > On 11/30/2012 02:19 AM, Ming Liu wrote: >> /etc/init.d/urandom fails to start/stop because it tries to save >> random-seed into /var/lib/urandom folder which does not exist in the >> file system. >> > Why not create it in the recipe's do_install? Or possibly add it to > volatiles file. OK, It may be a more reasonable solution creating it in do_install, I will send the V1 patch. > > Also talk with Qi Chen about the readonly FS stuff to make sure this > will work. > OK, I will talk to Qi. > Sau! > >> Fixed by using /var/lib/misc instead of /var/lib/urandom. >> >> Signed-off-by: Ming Liu <ming.liu@windriver.com> >> --- >> meta/recipes-core/initscripts/initscripts-1.0/urandom | 11 ++++++----- >> 1 file changed, 6 insertions(+), 5 deletions(-) >> >> diff --git a/meta/recipes-core/initscripts/initscripts-1.0/urandom >> b/meta/recipes-core/initscripts/initscripts-1.0/urandom >> index eb3a7c3..1cf7c5c 100755 >> --- a/meta/recipes-core/initscripts/initscripts-1.0/urandom >> +++ b/meta/recipes-core/initscripts/initscripts-1.0/urandom >> @@ -14,18 +14,19 @@ >> test -c /dev/urandom || exit 0 >> . /etc/default/rcS >> >> +SAVEDFILE=/var/lib/misc/random-seed >> case "$1" in >> start|"") >> test "$VERBOSE" != no && echo "Initializing random number >> generator..." >> # Load and then save 512 bytes, >> # which is the size of the entropy pool >> - if test -f /var/lib/urandom/random-seed >> + if test -f $SAVEDFILE >> then >> - cat /var/lib/urandom/random-seed >/dev/urandom >> + cat $SAVEDFILE >/dev/urandom >> fi >> - rm -f /var/lib/urandom/random-seed >> + rm -f $SAVEDFILE >> umask 077 >> - dd if=/dev/urandom of=/var/lib/urandom/random-seed count=1 \ >> + dd if=/dev/urandom of=$SAVEDFILE count=1 \ >> >/dev/null 2>&1 || echo "urandom start: failed." >> umask 022 >> ;; >> @@ -34,7 +35,7 @@ case "$1" in >> # see documentation in linux/drivers/char/random.c >> test "$VERBOSE" != no && echo "Saving random seed..." >> umask 077 >> - dd if=/dev/urandom of=/var/lib/urandom/random-seed count=1 \ >> + dd if=/dev/urandom of=$SAVEDFILE count=1 \ >> >/dev/null 2>&1 || echo "urandom stop: failed." >> ;; >> *) >> > >
Patch
diff --git a/meta/recipes-core/initscripts/initscripts-1.0/urandom b/meta/recipes-core/initscripts/initscripts-1.0/urandom index eb3a7c3..1cf7c5c 100755 --- a/meta/recipes-core/initscripts/initscripts-1.0/urandom +++ b/meta/recipes-core/initscripts/initscripts-1.0/urandom @@ -14,18 +14,19 @@ test -c /dev/urandom || exit 0 . /etc/default/rcS +SAVEDFILE=/var/lib/misc/random-seed case "$1" in start|"") test "$VERBOSE" != no && echo "Initializing random number generator..." # Load and then save 512 bytes, # which is the size of the entropy pool - if test -f /var/lib/urandom/random-seed + if test -f $SAVEDFILE then - cat /var/lib/urandom/random-seed >/dev/urandom + cat $SAVEDFILE >/dev/urandom fi - rm -f /var/lib/urandom/random-seed + rm -f $SAVEDFILE umask 077 - dd if=/dev/urandom of=/var/lib/urandom/random-seed count=1 \ + dd if=/dev/urandom of=$SAVEDFILE count=1 \ >/dev/null 2>&1 || echo "urandom start: failed." umask 022 ;; @@ -34,7 +35,7 @@ case "$1" in # see documentation in linux/drivers/char/random.c test "$VERBOSE" != no && echo "Saving random seed..." umask 077 - dd if=/dev/urandom of=/var/lib/urandom/random-seed count=1 \ + dd if=/dev/urandom of=$SAVEDFILE count=1 \ >/dev/null 2>&1 || echo "urandom stop: failed." ;; *)
/etc/init.d/urandom fails to start/stop because it tries to save random-seed into /var/lib/urandom folder which does not exist in the file system. Fixed by using /var/lib/misc instead of /var/lib/urandom. Signed-off-by: Ming Liu <ming.liu@windriver.com> --- meta/recipes-core/initscripts/initscripts-1.0/urandom | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)