[yocto] [genericx86-jethro] core-image-sato HDDIMG 'install' - no hard drive selected - /etc/fstab no such file or directory

Simon Bolek simon.bolek at googlemail.com
Fri Jul 15 15:17:35 PDT 2016


Hi Raj,

Maybe you could help me with this.
I found out that during rootfs (meta/lib/oe/rootfs.py), depmodwrapper
script is beeing called.
I noticed, that it does generate /lib/modules/<kernel>.. directory
structure under:
poky/build/tmp/work/genericx86-poky-linux/core-image-sato
However, at the end of the bitbake process, there is no /lib/modules
direcotry in
core-image-minimal-initramfs-genericx86-20160715210400.rootfs.cpio.gz

Where are the steps, where this .cpio.gz file is beeing generated. There
must be a place where all the files, that are inside, are beeing put
together.

HELP!
kind regards
Simon :-)


On Fri, Jul 15, 2016 at 10:59 AM, Simon Bolek <simon.bolek at googlemail.com>
wrote:

> Thanks, but neither:
> pkg_postinst_kernel-base ()
> nor:
> pkg_postinst_kernel-image ()
> from /meta/classes/kernel.bbclass gets called when running:
> - bitbake core-image-sato or
> - bitbake linux-yocto
>
> I put some commands in there, which are definitely wrong (like foobar) and
> bitbake run successfully.
> Whereas, in other funtions it caused problems.
> Any ideas how can fix this?
>
> thanks and best regards
> Simon :-)
>
>
> On Fri, Jul 15, 2016 at 1:30 AM, Khem Raj <raj.khem at gmail.com> wrote:
>
>> On Thu, Jul 14, 2016 at 4:16 PM, Simon Bolek <simon.bolek at googlemail.com>
>> wrote:
>> > Hi Raj,
>> >
>> > About depmod again.
>> > Should it be run from meta/classes/kernel.bbclass  ?
>> > ...
>> > pkg_postinst_kernel-base () {
>> >     if [ ! -e "$D/lib/modules/${KERNEL_VERSION}" ]; then
>> >         mkdir -p $D/lib/modules/${KERNEL_VERSION}
>> >     fi
>> >     if [ -n "$D" ]; then
>> >         depmodwrapper -a -b $D ${KERNEL_VERSION}
>> >     else
>> >         depmod -a ${KERNEL_VERSION}
>> >     fi
>> > }
>> > ...
>> >
>> > Where is this function beeing called?
>>
>> It should be called during rootfs and image creation time. as well as
>> when you update the package using online package manager.
>>
>> > I did not find it anywhere.
>> > thanks and kind regards
>> > Simon :-)
>> >
>> > On Thu, Jul 14, 2016 at 8:32 AM, Simon Bolek <
>> simon.bolek at googlemail.com>
>> > wrote:
>> >>
>> >>
>> >> On Wed, Jul 13, 2016 at 4:56 PM, Khem Raj <raj.khem at gmail.com> wrote:
>> >>>
>> >>> On Wed, Jul 13, 2016 at 4:57 AM, Simon Bolek <
>> simon.bolek at googlemail.com>
>> >>> wrote:
>> >>> > Hi Raj,
>> >>> >
>> >>> > So i tried to do manually, what init script does and udev definitely
>> >>> > does
>> >>> > not recognize the SSD drive.
>> >>> > I ran
>> >>> >  /lib/udev/udevd --daemon --debug > udev.debug 2>&1 &
>> >>> > from the cli and there is no trace of recognizing the SSD. Only the
>> >>> > /dev/sda, which is the USB stick I am running the installation from.
>> >>> >
>> >>> > I used 'meld' to compare the /initrd from current jethro image and
>> >>> > previous
>> >>> > working fido image.
>> >>> > They are almost the same:
>> >>> > - in jethro /lib/modules... file structure is missing with:
>> >>> > modules.alias
>> >>> > modules.alias.bin
>> >>> > modules.builtin.bin
>> >>> > modules.dep
>> >>> > modules.dep.bin
>> >>> > modules.devname
>> >>> > modules.softdep
>> >>> > modules.symbols
>> >>> > modules.symbols.bin
>> >>>
>> >>> this means depmod did not run during initramfs image creation
>> >>
>> >> How can I make this happen during bitbake, so i have those files in the
>> >> HDDIMG?
>> >>
>> >>>
>> >>> >
>> >>> > - there are slight differences between
>> >>> > /etc/init.d/udev
>> >>> > /etc/udev/scripts/mount.sh
>> >>> > , but I cannot tell, if this is the reason.
>> >>>
>> >>> what are the differences ?
>> >>
>> >>
>> >> Sorry for this patch-like copy/paste, but this was the simplest way of
>> >> presenting the changes.
>> >> Do you see something important here, that might cause the SDD not
>> beeing
>> >> recognized?
>> >>
>> >> --- /home/simon/Development/Yocto-Project/initrd-ok/etc/init.d/udev
>> >> +++ /home/simon/Development/Yocto-Project/initrd-jethro/etc/init.d/udev
>> >> @@ -14,20 +14,27 @@
>> >>  [ -d /sys/class ] || exit 1
>> >>  [ -r /proc/mounts ] || exit 1
>> >>  [ -x /lib/udev/udevd ] || exit 1
>> >> +SYSCONF_CACHED="/etc/udev/cache.data"
>> >> +SYSCONF_TMP="/dev/shm/udev.cache"
>> >> +DEVCACHE_REGEN="/dev/shm/udev-regen" # create to request cache regen
>> >> +
>> >> +# A list of files which are used as a criteria to judge whether the
>> udev
>> >> cache could be reused.
>> >> +CMP_FILE_LIST="/proc/version /proc/cmdline /proc/devices"
>> >> +[ -f /proc/atags ] && CMP_FILE_LIST="$CMP_FILE_LIST /proc/atags"
>> >> +
>> >> +# List of files whose metadata (size/mtime/name) will be included in
>> >> cached
>> >> +# system state.
>> >> +META_FILE_LIST="lib/udev/rules.d/* etc/udev/rules.d/*"
>> >> +
>> >> +# Command to compute system configuration.
>> >> +sysconf_cmd () {
>> >> +    cat -- $CMP_FILE_LIST
>> >> +    stat -c '%s %Y %n' -- $META_FILE_LIST | awk -F/ '{print $1 " "
>> $NF;}'
>> >> +}
>> >> +
>> >>  [ -f /etc/default/udev-cache ] && . /etc/default/udev-cache
>> >>  [ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf
>> >>  [ -f /etc/default/rcS ] && . /etc/default/rcS
>> >> -
>> >> -readfiles () {
>> >> -   READDATA=""
>> >> -   for filename in $@; do
>> >> -       if [ -r $filename ]; then
>> >> -           while read line; do
>> >> -               READDATA="$READDATA$line"
>> >> -           done < $filename
>> >> -       fi
>> >> -   done
>> >> -}
>> >>
>> >>  kill_udevd () {
>> >>      pid=`pidof -x udevd`
>> >> @@ -57,38 +64,35 @@
>> >>      # the automount rule for udev needs /tmp directory available, as
>> /tmp
>> >> is a symlink
>> >>      # to /var/tmp which in turn is a symlink to /var/volatile/tmp, we
>> >> need to make sure
>> >>      # /var/volatile/tmp directory to be available.
>> >> -    mkdir -p /var/volatile/tmp
>> >> +    mkdir -m 1777 -p /var/volatile/tmp
>> >>
>> >>      # Cache handling.
>> >> -    # A list of files which are used as a criteria to judge whether
>> the
>> >> udev cache could be reused.
>> >> -    CMP_FILE_LIST="/proc/version /proc/cmdline /proc/devices
>> /proc/atags"
>> >>      if [ "$DEVCACHE" != "" ]; then
>> >>              if [ -e $DEVCACHE ]; then
>> >> -            readfiles $CMP_FILE_LIST
>> >> -            NEWDATA="$READDATA"
>> >> -            readfiles /etc/udev/cache.data
>> >> -            OLDDATA="$READDATA"
>> >> -            if [ "$OLDDATA" = "$NEWDATA" ]; then
>> >> -                            (cd /; tar xf $DEVCACHE > /dev/null 2>&1)
>> >> +            sysconf_cmd > "$SYSCONF_TMP"
>> >> +            if cmp $SYSCONF_CACHED $SYSCONF_TMP >/dev/null; then
>> >> +                            tar xmf $DEVCACHE -C / -m
>> >>                              not_first_boot=1
>> >>                              [ "$VERBOSE" != "no" ] && echo "udev:
>> using
>> >> cache file $DEVCACHE"
>> >> -                            [ -e /dev/shm/udev.cache ] && rm -f
>> >> /dev/shm/udev.cache
>> >> +                            [ -e $SYSCONF_TMP ] && rm -f
>> "$SYSCONF_TMP"
>> >> +                            [ -e "$DEVCACHE_REGEN" ] && rm -f
>> >> "$DEVCACHE_REGEN"
>> >>                      else
>> >>                  # Output detailed reason why the cached /dev is not
>> used
>> >> -                if [ "$VERBOSE" != "no" ]; then
>> >> -                    echo "udev: udev cache not used"
>> >> -                    echo "udev: we use $CMP_FILE_LIST as criteria to
>> >> judge whether the cache /dev could be resued"
>> >> -                    echo "udev: olddata: $OLDDATA"
>> >> -                    echo "udev: newdata: $NEWDATA"
>> >> -                fi
>> >> -                echo "$NEWDATA" > /dev/shm/udev.cache
>> >> +                cat <<EOF
>> >> +udev: Not using udev cache because of changes detected in the
>> following
>> >> files:
>> >> +udev:     $CMP_FILE_LIST
>> >> +udev:     $META_FILE_LIST
>> >> +udev: The udev cache will be regenerated. To identify the detected
>> >> changes,
>> >> +udev: compare the cached sysconf at   $SYSCONF_CACHED
>> >> +udev: against the current sysconf at  $SYSCONF_TMP
>> >> +EOF
>> >> +                touch "$DEVCACHE_REGEN"
>> >>                      fi
>> >>          else
>> >>              if [ "$ROOTFS_READ_ONLY" != "yes" ]; then
>> >>                  # If rootfs is not read-only, it's possible that a new
>> >> udev cache would be generated;
>> >>                  # otherwise, we do not bother to read files.
>> >> -                readfiles $CMP_FILE_LIST
>> >> -                echo "$READDATA" > /dev/shm/udev.cache
>> >> +                touch "$DEVCACHE_REGEN"
>> >>              fi
>> >>              fi
>> >>      fi
>> >> @@ -97,7 +101,7 @@
>> >>      kill_udevd > "/dev/null" 2>&1
>> >>
>> >>      # trigger the sorted events
>> >> -    echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
>> >> +    [ -e /proc/sys/kernel/hotplug ] && echo -e '\000'
>> >> >/proc/sys/kernel/hotplug
>> >>      /lib/udev/udevd -d
>> >>
>> >>      udevadm control --env=STARTUP=1
>> >>
>> >>
>> >>>
>> >>> >
>> >>> > Unfortunately I did not dig inside binary /lib/udev/udevd.
>> >>> >
>> >>> > So do you have any other ideas, what might be the reason for not
>> >>> > recognizing
>> >>> > the SSD? Maybe there are some additional recipes needed from jethro
>> on?
>> >>> >
>> >>> >
>> >>> > thanks & kind regards
>> >>> > Simon :-)
>> >>> >
>> >>> > mit freundlichem Gruss / kind regards / pozdrawiam
>> >>> > Simon P. Bolek
>> >>> > ------------------------------------------------------
>> >>> > Dipl. Inf. Simon P. Bolek
>> >>> > SAP Integration Architect
>> >>> > Business Mobile and IVI Solutions
>> >>> > mailto: simon.bolek at arcom-ivi.de
>> >>> > http://www.arcom-ivi.de/
>> >>> > XING: https://www.xing.com/profile/SimonP_Bolek
>> >>> >
>> >>> > On Wed, Jul 13, 2016 at 9:03 AM, Simon Bolek
>> >>> > <simon.bolek at googlemail.com>
>> >>> > wrote:
>> >>> >>
>> >>> >> Thank you,
>> >>> >>
>> >>> >> I just guess, that it is the following function in init script to
>> put
>> >>> >> the
>> >>> >> echos to? Is it?
>> >>> >>
>> >>> >> udev_daemon() {
>> >>> >>     OPTIONS="/sbin/udev/udevd /sbin/udevd /lib/udev/udevd
>> >>> >> /lib/systemd/systemd-udevd"
>> >>> >>
>> >>> >>     for o in $OPTIONS; do
>> >>> >>         if [ -x "$o" ]; then
>> >>> >>             echo $o
>> >>> >>             return 0
>> >>> >>         fi
>> >>> >>     done
>> >>> >>
>> >>> >>     return 1
>> >>> >> }
>> >>> >>
>> >>> >>
>> >>> >> cheers
>> >>> >> Simon:-)
>> >>> >>
>> >>> >> Viele Grüsse
>> >>> >> Simon Bolek :-)
>> >>> >>
>> >>> >> mit freundlichem Gruss / kind regards / pozdrawiam
>> >>> >> Simon P. Bolek
>> >>> >> ------------------------------------------------------
>> >>> >> Dipl. Inf. Simon P. Bolek
>> >>> >> SAP Integration Architect
>> >>> >> Business Mobile and IVI Solutions
>> >>> >> mailto: simon.bolek at arcom-ivi.de
>> >>> >> http://www.arcom-ivi.de/
>> >>> >> XING: https://www.xing.com/profile/SimonP_Bolek
>> >>> >>
>> >>> >> On Wed, Jul 13, 2016 at 8:36 AM, Khem Raj <raj.khem at gmail.com>
>> wrote:
>> >>> >>>
>> >>> >>> On Tue, Jul 12, 2016 at 11:28 PM, Simon Bolek
>> >>> >>> <simon.bolek at googlemail.com> wrote:
>> >>> >>> > Thank you Raj,
>> >>> >>> >
>> >>> >>> > Is there a standard way to activate these initramfs logs, or do
>> I
>> >>> >>> > have
>> >>> >>> > to
>> >>> >>> > implement it myself somewhere?
>> >>> >>>
>> >>> >>> you have to add printf etc. yourself into the init script in
>> >>> >>> initramfs
>> >>> >>> image
>> >>> >>>
>> >>> >>> >
>> >>> >>> > thank you and kind regards
>> >>> >>> > Simon :-)
>> >>> >>> >
>> >>> >>> > Viele Grüsse
>> >>> >>> > Simon Bolek :-)
>> >>> >>> >
>> >>> >>> > mit freundlichem Gruss / kind regards / pozdrawiam
>> >>> >>> > Simon P. Bolek
>> >>> >>> > ------------------------------------------------------
>> >>> >>> > Dipl. Inf. Simon P. Bolek
>> >>> >>> > SAP Integration Architect
>> >>> >>> > Business Mobile and IVI Solutions
>> >>> >>> > mailto: simon.bolek at arcom-ivi.de
>> >>> >>> > http://www.arcom-ivi.de/
>> >>> >>> > XING: https://www.xing.com/profile/SimonP_Bolek
>> >>> >>> >
>> >>> >>> > On Wed, Jul 13, 2016 at 1:36 AM, Khem Raj <raj.khem at gmail.com>
>> >>> >>> > wrote:
>> >>> >>> >>
>> >>> >>> >> On Tue, Jul 12, 2016 at 3:45 AM, Simon Bolek
>> >>> >>> >> <simon.bolek at googlemail.com>
>> >>> >>> >> wrote:
>> >>> >>> >> > Hello everyone!
>> >>> >>> >> >
>> >>> >>> >> > I am trying to install genericx86 core-image-sato (jethro)
>> >>> >>> >> > HDDIMG to
>> >>> >>> >> > an
>> >>> >>> >> > atom-pc.
>> >>> >>> >> > For this 2GB USB stick is used.
>> >>> >>> >> > When choosing 'install' option from boot menu I get the
>> message:
>> >>> >>> >> >
>> >>> >>> >> > "Searching for hard drives...
>> >>> >>> >> > No hard drive selected. Installation aborted."
>> >>> >>> >> >
>> >>> >>> >> > Installatiion stops and i get the console.
>> >>> >>> >> > When I try to run fsck, it says: can't read '/etc/fstab': No
>> >>> >>> >> > such
>> >>> >>> >> > file
>> >>> >>> >> > or
>> >>> >>> >> > directory
>> >>> >>> >> >
>> >>> >>> >> > fdisk -l  shows only the partitions of USB stick.
>> >>> >>> >> >
>> >>> >>> >> > After I choose 'boot' option to boot into live image, SDD
>> drive
>> >>> >>> >> > is
>> >>> >>> >> > under
>> >>> >>> >> > /dev/sdb and USB installation stick under /dev/sda,
>> >>> >>> >> >
>> >>> >>> >> > What recipe/package is my installation missing? The SSD hard
>> >>> >>> >> > drive
>> >>> >>> >> > is
>> >>> >>> >> > not
>> >>> >>> >> > recognized for some reason. With previous yocto releases this
>> >>> >>> >> > package
>> >>> >>> >> > list
>> >>> >>> >> > DID work fine.
>> >>> >>> >> > So there is something missing in the background.
>> >>> >>> >> > Do you have any idea what this might be?
>> >>> >>> >>
>> >>> >>> >> udev should have run and found your hdd. So it seems its not
>> >>> >>> >> finding
>> >>> >>> >> it when running from initramfs. Can you try to add logs to
>> >>> >>> >> initramfs
>> >>> >>> >> and see what udev is doing ?
>> >>> >>> >>
>> >>> >>> >> >
>> >>> >>> >> > Below is my package list from local.conf.
>> >>> >>> >> >
>> >>> >>> >> > thank you and kind regards
>> >>> >>> >> > Simon :-)
>> >>> >>> >> >
>> >>> >>> >> > EXTRA_IMAGE_FEATURES = "debug-tweaks ssh-server-openssh"
>> >>> >>> >> > IMAGE_INSTALL_append = " make \
>> >>> >>> >> >      initscripts \
>> >>> >>> >> >      grub \
>> >>> >>> >> >      initramfs-boot \
>> >>> >>> >> >      syslinux \
>> >>> >>> >> >      initramfs-live-install \
>> >>> >>> >> >      initramfs-live-install-efi \
>> >>> >>> >> >      initramfs-live-boot \
>> >>> >>> >> >      xinit \
>> >>> >>> >> >      xwininfo \
>> >>> >>> >> >      openssh-sftp \
>> >>> >>> >> >      openssh-sftp-server \
>> >>> >>> >> >      qtbase-plugins \
>> >>> >>> >> >      qtconnectivity \
>> >>> >>> >> >      qtdeclarative \
>> >>> >>> >> >      qtdeclarative-plugins \
>> >>> >>> >> >      qtdeclarative-tools \
>> >>> >>> >> >      qtdeclarative-qmlplugins \
>> >>> >>> >> >      qtenginio \
>> >>> >>> >> >      qtlocation \
>> >>> >>> >> >      qtmultimedia \
>> >>> >>> >> >      qtmultimedia-plugins \
>> >>> >>> >> >      qtmultimedia-qmlplugins \
>> >>> >>> >> >      qtsystems \
>> >>> >>> >> > "
>> >>> >>> >> >
>> >>> >>> >> > Viele Grüsse
>> >>> >>> >> > Simon Bolek :-)
>> >>> >>> >> >
>> >>> >>> >> > mit freundlichem Gruss / kind regards / pozdrawiam
>> >>> >>> >> > Simon P. Bolek
>> >>> >>> >> > ------------------------------------------------------
>> >>> >>> >> > Dipl. Inf. Simon P. Bolek
>> >>> >>> >> > SAP Integration Architect
>> >>> >>> >> > Business Mobile and IVI Solutions
>> >>> >>> >> > mailto: simon.bolek at arcom-ivi.de
>> >>> >>> >> > http://www.arcom-ivi.de/
>> >>> >>> >> > XING: https://www.xing.com/profile/SimonP_Bolek
>> >>> >>> >> >
>> >>> >>> >> > --
>> >>> >>> >> > _______________________________________________
>> >>> >>> >> > yocto mailing list
>> >>> >>> >> > yocto at yoctoproject.org
>> >>> >>> >> > https://lists.yoctoproject.org/listinfo/yocto
>> >>> >>> >> >
>> >>> >>> >
>> >>> >>> >
>> >>> >>
>> >>> >>
>> >>> >
>> >>
>> >>
>> >
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20160716/5e9ba780/attachment.html>


More information about the yocto mailing list