Hey,
So I have proceeded a tiny bit.
What I did was to copy the core-image-minimal-initramfs.cpio.gz to my
/boot partition and boot using (EFI grub):

linux /bzimage
initrd /initramfs.cpio.gz

This way the boot process starts and at some point it says "can't find
rootfs.img, dropping to a shell". It doesn't drop to a shell though...
(busybox is included)
Booting without the initrd (or with initrd /microcode.cpio) results in a
kernel panic. This leads me to the suspicion that meta-intel overwrites
my initramfs (since microcode.cpio is present in boot)
Further more think I shouldn't even be required to set initrd for boot
since it should be embedded into the kernel ?
(INITRAMFS_IMAGE_BUNDLE="1") I got the relevant variables from bitbake
-e here, maybe someone more experienced can spot an error ?

# $INITRAMFS_FSTYPES [2 operations]
#   set /opt/thudPoky/meta/conf/documentation.conf:228
#     [doc] "Defines the format for the output image of an initial RAM
disk (initramfs), which is used during boot."
#   set? /opt/thudPoky/meta/conf/bitbake.conf:770
#     "cpio.gz"
# pre-expansion value:
#   "cpio.gz"
INITRAMFS_FSTYPES="cpio.gz"
#
# $INITRAMFS_IMAGE
#   set /opt/thudPoky/build/conf/local.conf:257
#     "core-image-minimal-initramfs"
INITRAMFS_IMAGE="core-image-minimal-initramfs"
#
# $INITRAMFS_IMAGE_BUNDLE
#   set /opt/thudPoky/build/conf/local.conf:258
#     "1"
INITRAMFS_IMAGE_BUNDLE="1"
#
# $INITRAMFS_MAXSIZE [2 operations]
#   set /opt/thudPoky/meta-ccns5/conf/machine/ccns5.conf:34
#     "200000"
#   set /opt/thudPoky/meta/conf/bitbake.conf:774
#     [_defaultval] "131072"
# pre-expansion value:
#   "200000"
INITRAMFS_MAXSIZE="200000"
#
# $INITRD
#   set /opt/thudPoky/meta/conf/documentation.conf:229
#     [doc] "Indicates a list of filesystem images to concatenate and
use as an initial RAM disk (initrd)."
#
# $INITRD_IMAGE_LIVE
#   set? /opt/thudPoky/meta/classes/image-live.bbclass:39
#     "${MLPREFIX}core-image-minimal-initramfs"
INITRD_IMAGE_LIVE="core-image-minimal-initramfs"
#
# $INITRD_LIVE [2 operations]
#   _prepend /opt/thudPoky/meta-intel/conf/machine/include/meta-intel.inc:23
#     "${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode',
'${DEPLOY_DIR_IMAGE}/microcode.cpio ', '', d)}"
#   set? /opt/thudPoky/meta/classes/image-live.bbclass:40
# "${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE_LIVE}-${MACHINE}.cpio.gz"
# pre-expansion value:
#   "${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode',
'${DEPLOY_DIR_IMAGE}/microcode.cpio ', '',
d)}${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE_LIVE}-${MACHINE}.cpio.gz"
INITRD_LIVE="/opt/thudPoky/build/tmp/deploy/images/ccns5/microcode.cpio
/opt/thudPoky/build/tmp/deploy/images/ccns5/core-image-minimal-initramfs-ccns5.cpio.gz"

The last line seems strange to me because 2 different images are set.
.cpio on it's own is not included in INITRAMFS_FSTYPES and I can not
find any documentation on the variable INITRD_LIVE.

Best regards
Moritz

On 01.07.19 11:19, Moritz Porst wrote:

Hello Zoran,
thanks for your answer

On 28.06.19 14:26, Zoran Stojsavljevic wrote:
> INITRAMFS_IMAGE = /*"core-image-minimal-initramfs"*/
> INITRAMFS_IMAGE_BUNDLE = "1"
...
> You can find the /var/log/dmesg here: https://pastebin.com/ya7iCtq7I

Some hints...

[1] Kernel command line: BOOT_IMAGE=/bzImage
root=PARTUUID=71d1d94a-83e8-4895-98eb-35309f58119f
break=premount quiet rootwait rootwait rootfstype=ext4
/*console=ttyS0,115200 console=tty0*/
/*
*/
input: Video Bus as
/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input7
fbcon: inteldrmfb (fb0) is primary device
Console: switching to colour frame buffer device 128x48
/*i915 0000:00:02.0: fb0: inteldrmfb frame buffer device*/
snd_hda_intel 0000:00:1b.0: bound 0000:00:02.0 (ops
i915_audio_component_bind_ops [i915])

Hmmmmm... You are using console and serial, but full i915 GFX kernel
driver is still included in the build???
I started from the core-image-minimal to have a small image and
extended it with the features I need, which is e.g. a graphical
system. The console=[...] part in the kernel command line is probably
a remnant but my image boots into the GUI. Is this a problem ?
/*
*/
[2] efi: EFI v2.31 by American Megatrends

Using AMI BIOS as boot loader FW... OK?! Am I correct?
My bootloader is currently grub, the EFI is AM.

[3] smpboot: CPU0: Intel(R) Atom(TM) CPU  E3825  @ 1.33GHz (family:
0x6, model: 0x37, stepping: 0x9)

This is CPUID ID 0x30679, which uses MCU... Which MicroCodeUnit?
M0130679xxx (info from AMI BIOS)?
Sorry but I can't find this info in the EFI

[4] Using INTEL ATOM BYT E3825 dual core (sans Hyper-threading),
implies that you are using
4GB (e820 messages) as single channel (one memory module DDR3 as
4GB)! Am I correct (important)?
2GB, single channel.

[5] Dracut phase?!
> To my understanding the initramfs should be embedded in /boot/bzImage.
> However since I use an intel platform I also have a
/boot/microcode.cpio
> which gets loaded via "initrd /microcode.cpio". Removing this line in
> grub does not enable me to get an initramfs prompt either (again, using
> break as option).

You are obviously stopping in boot phase called dracut. Please, try
to mount by hand
/dev/sda(whatever)... You should use fdisk -l command, or do ls -al
/dev | grep sda to
dig out which partition you need to mount to /tmp dir to see
rootfstype=ext4 (HDD/SSD)
No, the boot does not stop. Even if I do issue "break=premount" I end
up in my graphical interface with the rootfs mounted. This is the last
message in the log:
EXT4-fs (sdb2): re-mounted. Opts: (null)
The rootfs partition is always 2, so either /dev/sda2 or /dev/sdb2
(when booting from stick)
_______

Just thinking loud... .. .

Hope this helps (has very little to do with YOCTO build system, BTW)
. ;-)

Zoran
_______


On Fri, Jun 28, 2019 at 11:22 AM Moritz Porst <moritz.po...@gmx.de
<mailto:moritz.po...@gmx.de>> wrote:

    Hello,
    I currently try to deploy a single rootfs update mechanism for my
    embedded device. I can't boot to initramfs using either "break" or
    "break=premount" (without quotes...). I tried this in
    systemd-boot and
    grub-efi (always efi boot) but the boot process just continues
    normally.
    If I insert at the same point e.g. "quiet" this argument is
    recognised.
    I boot the .wic image with a separate boot partition from a USB
    stick.
    in local.conf I have set:
    INITRAMFS_IMAGE = "core-image-minimal-initramfs"
    INITRAMFS_IMAGE_BUNDLE = "1"

    In order to reduce complexity I now use the standard
    core-image-minimal-initramfs without .bbappend. I can confirm (from
    seeing the task) that bitbake bundled the kernel with the initramfs.

    You can find the /var/log/dmesg here: https://pastebin.com/ya7iCtq7

    To my understanding the initramfs should be embedded in
    /boot/bzImage.
    However since I use an intel platform I also have a
    /boot/microcode.cpio
    which gets loaded via "initrd /microcode.cpio". Removing this line in
    grub does not enable me to get an initramfs prompt either (again,
    using
    break as option).

    Did I forget some configuration or do I have to put the break
    statement
    at a very specific position within the "linux ..." boot command ?
    Do you
    know which bitbake variables to check ? (both set in local.conf
    do not
    get overwritten, already checked this). I got the thud branch checked
    out in all my meta-layers except for meta-qt which is currently on
    master branch.

    Help is much appreciated !

    Best regards
    Moritz

    --
    _______________________________________________
    yocto mailing list
    yocto@yoctoproject.org <mailto:yocto@yoctoproject.org>
    https://lists.yoctoproject.org/listinfo/yocto


-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to