danilovesky

Forum Replies Created

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • in reply to: Split-partition SD card #64654

    danilovesky
    Participant

    Thanks a lot, Sean!
    Now it works perfectly.
    With this minimal ramdisk the board boots much faster than with my “bloated” ramdisk 🙂

    in reply to: Split-partition SD card #64657

    danilovesky
    Participant

    Hi Sean,

    I tried to statically create the /realroot directory in the ramdisk, but as I was expecting it did not help – the same problem: the boot process stops at “Starting kernel …” line. I guess the /realroot is not a problem because it is long way before switching the root takes place…

    Do the instructions in Appendix D work for you (with a ramdisk consisting only of the busybox and few libraries)? Can you maybe send your ramdisk.cpio or I can send you mine for comparison?

    Two more things that look suspicious in Appendix D:

    1) Is it correct that /linuxrc points to sbin/init script (instead of bin/busybox)?

    2) In Edit inittab sub-section the explanation is a bit cryptic:

    Edit the file buildroot/output/target/etc/inittab and remove (or comment out) all lines beginning with ::sysinit: down to the line ::sysinit:/bin/mount -o remount,rw /
    The ramdisk init will take care of those things.

    First, there are no lines starting with ::sysinit: in my inittab, only null:sysinit: – is it correct?
    Second, it is not clear if the lines to remove include “::sysinit:/bin/mount -o remount,rw /” or not.
    Also, can it be that the order of lines changes in inittab depending on buildroot configuration?

    It would be better to write explicitly which lines to remove, .e.g those which mount /dev and /proc filesystems.

    Regards,
    Danil

    in reply to: Split-partition SD card #64658

    danilovesky
    Participant

    Thanks for the hint! I will try it on Monday when I have access to the board, however I think the cause of the failure is something else.

    The thing is I moved the creation of /realroot directory into my init_script (which is copied over to ramdisk init) – I thought it is more logical there…

    Also this would not explain why a “bigger” ramdisk (obtained from default configuration of buildroot) which does not have /realroot directory works fine (the /realroot directory is created in init script).

    In any case, I will do the experiment and report back with the results!

    By the way, here is my init script which works with “bigger” ramdisk but not with the “minimal” one:

    #!/bin/sh

    mknod /dev/console c 5 1
    exec 0</dev/console
    exec 1>/dev/console
    exec 2>/dev/console
    export PATH=/bin:/sbin:/usr/bin:/usr/sbin

    echo "Mounting filesystems..."
    mount -t proc proc /proc
    mount -t sysfs sysfs /sys
    mount -t devtmpfs devtmpfs /dev
    mkdir -p /dev/pts
    mount -t devpts devpts /dev/pts
    echo /sbin/mdev > /proc/sys/kernel/hotplug
    mdev -s

    echo "Mounting SD card as root filesystem..."
    mkdir -p /realroot
    mount -t ext2 -o rw /dev/mmcblk0p2 /realroot
    mount --move /dev /realroot/dev
    mount --move /proc /realroot/proc
    mount --move /sys /realroot/sys

    echo "Passing control to the root file system now..."
    exec switch_root /realroot /sbin/init
Viewing 3 posts - 1 through 3 (of 3 total)