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

Khem Raj raj.khem at gmail.com
Thu Jul 14 16:30:55 PDT 2016


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
>>> >>> >> >
>>> >>> >
>>> >>> >
>>> >>
>>> >>
>>> >
>>
>>
>



More information about the yocto mailing list