Find the answer to your Linux question:
Results 1 to 5 of 5
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1

    PPC440epx boot problem

    I am using linux kernel I encounter 2 problems:
    1. After console_init() is called inside start_kernel(), the console starts printing garbage like:
    Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    serial8250.0: ttyS0 at MMIO 0x1ef600300 (irq = 16) is a 16550A
    ������������������������������ ���������������������������� ��������������������������������� ������������������������������ �����������������.
    2. It pakics when mounting the root file system(NFS):
    (gdb) bt
    #0 panic (fmt=0xc0290e94 "VFS: Unable to mount root fs on %s")
    at kernel/panic.c:70
    #1 0xc02d8ce0 in mount_block_root (name=0xc0290de4 "/dev/root", flags=0x8001)
    at init/do_mounts.c:272
    #2 0xc02d9084 in prepare_namespace () at init/do_mounts.c:415
    #3 0xc02d81ec in kernel_init (unused=<value optimized out>) at init/main.c:885
    #4 0xc000de60 in kernel_thread ()
    There is a patch for Sequoia board to delete /chosen part in sequoia.dts, is /chosen required?
    I am new to Linux. Thanks for helping me.

  2. #2
    My guess to the first problem is that the baudrate is incorrect. Who can tell me how to access the CPU serial configuration memory 0x1ef600300 in kernel. I have both GDB and BDI3000.Thanks.

  3. #3

    initrd or initramfs

    Can you try to boot up an initrd or initramfs root file system?
    Trying out NFS at the start may be a bit overwhelming.

  4. $spacer_open
  5. #4
    I have tried initramfs. I use the following lines in a file named initramfs.txt to generate initramfs:
    dir /dev 755 0 0
    nod /dev/console 644 0 0 c 5 1
    nod /dev/loop0 644 0 0 b 7 0
    dir /bin 755 1000 1000
    slink /bin/sh busybox 777 0 0
    file /bin/busybox /home/awang/proj/linux- 755 0 0
    dir /proc 755 0 0
    dir /sys 755 0 0
    dir /mnt 755 0 0
    file /init /home/awang/proj/linux- 755 0 0

    echo "Mounting process"
    mount -t process /process /process

    echo "Starting system loggers"

    echo "Configuring ethernet interface"
    ifconfig eth0

    echo "Starting inetd"

    #start a shell
    busybox sh

    My first question is where "dev/console" is connected to the real serial driver. Do I need to do it?

    The second question is that does not work. According the kernel documentation, "/init" has to do the same thing as prepare_namespace() to mount the final root and exec one of the predefined init binaries. Can anyone give me an example of "/init"? I am overwhelmed.

    c) using initramfs. The call to prepare_namespace() must be skipped.
    This means that a binary must do all the work. Said binary can be stored
    into initramfs either via modifying usr/gen_init_cpio.c or via the new
    initrd format, an cpio archive. It must be called "/init". This binary
    is responsible to do all the things prepare_namespace() would do.

    To maintain backwards compatibility, the /init binary will only run if it
    comes via an initramfs cpio archive. If this is not the case,
    init/main.c:init() will run prepare_namespace() to mount the final root
    and exec one of the predefined init binaries.

  6. #5
    Just Joined! acrux's Avatar
    Join Date
    Feb 2009
    very often these boards work only with a patched kernels and specific uboot releases. You need to look for a specific delopment toolkit maybe from the board's constructor. Is this a development sample board?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts