Kernel modules not loaded during boot - linux

Observing that some kernel modules are not being loaded in the latest kernel 5.15.34-v7.
So I have built a core-image-base from meta-raspberrypi (0135a02) and while trying access the camera using Picamera got some errors. The errors mainly complain about mmal drivers not present.
root#raspberrypi3:~# python3
Python 3.10.4 (main, Mar 23 2022, 20:25:24) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from picamera import PiCamera
>>> camera = PiCamera()
mmal: mmal_vc_shm_init: could not initialize vc shared memory service
mmal: mmal_vc_component_create: failed to initialise shm for 'vc.camera_info' (7:EIO)
mmal: mmal_component_create_core: could not create component 'vc.camera_info' (7)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.10/site-packages/picamera/camera.py", line 408, in __init__
self._init_revision(options)
File "/usr/lib/python3.10/site-packages/picamera/camera.py", line 480, in _init_revision
with mo.MMALCameraInfo() as camera_info:
File "/usr/lib/python3.10/site-packages/picamera/mmalobj.py", line 2425, in __init__
super(MMALCameraInfo, self).__init__()
File "/usr/lib/python3.10/site-packages/picamera/mmalobj.py", line 696, in __init__
mmal_check(
File "/usr/lib/python3.10/site-packages/picamera/exc.py", line 184, in mmal_check
raise PiCameraMMALError(status, prefix)
picamera.exc.PiCameraMMALError: Failed to create MMAL component b'vc.camera_info': I/O error
>>>
>>>
root#raspberrypi3:~#
After digging through my system found an older build (don't know why I didn't delete it but thankfully it gave some insight into the issue), I tried booting that image and everything seems to be working fine.
So I checked out to the commit which the older build was using (63a3d8cb17c5d1affe8f2848f45fcc6a706f9412), and the camera worked fine(though I had to make few changes, which are not significant for this issue). While analyzing the bootlogs found that the latest build (0135a02) doesn't load all the drivers.
Also I have observed that the kernel module are compressed in the 5.15.34 kernel, eg: root#raspberrypi3:~# ls /lib/modules/5.15.34-v7/kernel/drivers/usb/gadget/libcomposite.ko.xz and while trying load the modules using modprobe getting the following error:
root#raspberrypi3:~# ls /lib/modules/5.15.34-v7/kernel/drivers/usb/gadget/legacy/
g_acm_ms.ko.xz g_cdc.ko.xz g_hid.ko.xz g_midi.ko.xz g_printer.ko.xz g_webcam.ko.xz gadgetfs.ko.xz
g_audio.ko.xz g_ether.ko.xz g_mass_storage.ko.xz g_multi.ko.xz g_serial.ko.xz g_zero.ko.xz
root#raspberrypi3:~# modprobe gadgetfs
modprobe: FATAL: Module gadgetfs not found in directory /lib/modules/5.15.34-v7
My question is what and where the changes have happened to the kernel between 63a3d8cb17c5d1affe8f2848f45fcc6a706f9412 (5.10) and 0135a02 (5.15) , so that I can look into and adapt the changes required ?
Note: All the commit hashes which are mentioned above are of meta-raspberrypi repo.
Logs
lsmod logs
5.15.34
root#raspberrypi3:~# lsmod
Module Size Used by
root#raspberrypi3:~#
5.10.81
root#raspberrypi3:~# lsmod
Module Size Used by
rfcomm 49152 2
cmac 16384 3
algif_hash 16384 1
nfc 86016 0
aes_arm_bs 24576 2
crypto_simd 16384 1 aes_arm_bs
cryptd 24576 2 crypto_simd
algif_skcipher 16384 1
af_alg 28672 6 algif_hash,algif_skcipher
bnep 20480 2
hci_uart 40960 1
btbcm 16384 1 hci_uart
bluetooth 421888 31 hci_uart,bnep,btbcm,rfcomm
ecdh_generic 16384 2 bluetooth
ecc 36864 1 ecdh_generic
ipv6 503808 26
brcmfmac 331776 0
brcmutil 24576 1 brcmfmac
sha256_generic 16384 0
bcm2835_v4l2 49152 0
cfg80211 782336 1 brcmfmac
bcm2835_codec 40960 0
bcm2835_isp 32768 0
v4l2_mem2mem 36864 1 bcm2835_codec
rfkill 32768 4 bluetooth,nfc,cfg80211
bcm2835_mmal_vchiq 36864 3 bcm2835_isp,bcm2835_codec,bcm2835_v4l2
videobuf2_dma_contig 20480 2 bcm2835_isp,bcm2835_codec
videobuf2_vmalloc 16384 1 bcm2835_v4l2
videobuf2_memops 16384 2 videobuf2_dma_contig,videobuf2_vmalloc
videobuf2_v4l2 32768 4 bcm2835_isp,bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem
videobuf2_common 61440 5 bcm2835_isp,bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
raspberrypi_hwmon 16384 0
videodev 253952 6 bcm2835_isp,bcm2835_codec,videobuf2_common,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
mc 45056 6 bcm2835_isp,bcm2835_codec,videobuf2_common,videodev,v4l2_mem2mem,videobuf2_v4l2
vc_sm_cma 32768 2 bcm2835_isp,bcm2835_mmal_vchiq
uio_pdrv_genirq 16384 0
uio 20480 1 uio_pdrv_genirq
fixed 16384 0
root#raspberrypi3:~#

Make sure you have kernel-modules installed:
IMAGE_INSTALL_append = " kernel-modules"
EDIT
The package that provides all kernel modules is kernel-modules, or each modules is within a separate package kernel-module-<module_name>. For meta-raspberrypi, they set kernel-modules as a package not essential for boot, means that if the package is not found, the board should boot normal:
meta-raspberrypi/conf/machine/include/rpi-base.inc
MACHINE_EXTRA_RRECOMMENDS += "kernel-modules udev-rules-rpi"
In previous meta-raspberrypi branches, it was a rpi image recipe rpi-basic-image.bb:
# Base this image on core-image-minimal
include recipes-core/images/core-image-minimal.bb
# Include modules in rootfs
IMAGE_INSTALL += " \
kernel-modules \
"
SPLASH = "psplash-raspberrypi"
IMAGE_FEATURES += "ssh-server-dropbear splash"
do_image:prepend() {
bb.warn("The image 'rpi-basic-image' is deprecated, please use 'core-image-base' instead")
}
So, the only thing needed for integrating the kernel modules is kernel-modules package, either by the image example, or try:
local.conf
MACHINE_EXTRA_RRECOMMENDS_remove = "kernel-modules"

Related

PlutoSDR AttributeError: module 'iio' on Ubuntu 20.04

When attempting to run flow graph in GNU Radio Companion, I get the following error:
AttributeError: module 'iio' has no attribute 'pluto_source'
I am running a new VMWare environment, on Windows, for Ubuntu 20.04.
I first installed the drivers and the libiio library for the Pluto and was able to SSH via: ssh root#192.168.21
However, in terminal when I run iio_info -s I get the following output which concerns me.
Library version: 0.21 (git tag: 9d79757)
Compiled with backends: local xml ip usb
Unable to create Local IIO context : No such file or directory (2)
Available contexts:
0: 0456:b673 (Analog Devices Inc. PlutoSDR (ADALM-PLUTO)), serial=1044739659930006f4ff24003edc27135f [usb:1.10.5]
1: 192.168.2.1 (Analog Devices PlutoSDR Rev.B (Z7010-AD9364)), serial=1044739659930006f4ff24003edc27135f [ip:pluto.local]
Running iio_info -u ip:192.168.2.1 I get a few errors which might be related to the above.
Library version: 0.21 (git tag: 9d79757)
Compiled with backends: local xml ip usb
IIO context created with network backend.
Backend version: 0.21 (git tag: v0.21 )
Backend description string: 192.168.2.1 Linux (none) 4.19.0-119999-g6edc6cd #319 SMP PREEMPT Mon Jul 6 15:45:01 CEST 2020 armv7l
IIO context has 9 attributes:
hw_model: Analog Devices PlutoSDR Rev.B (Z7010-AD9364)
hw_model_variant: 0
hw_serial: 1044739659930006f4ff24003edc27135f
fw_version: v0.32
ad9361-phy,xo_correction: 39999954
ad9361-phy,model: ad9364
local,kernel: 4.19.0-119999-g6edc6cd
uri: ip:192.168.2.1
ip,ip-addr: 192.168.2.1
...
...
attr 10: multichip_sync ERROR: Permission denied (13)
attr 11: rssi_gain_step_error value: lna_error: 0 0 0 0
mixer_error: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
...
...
debug attr 180: adi,frequency-division-duplex-mode-enable value: 1
debug attr 181: direct_reg_access value: 0x0
No trigger on this device
iio:device2: xadc
10 channels found:
voltage5: vccoddr (input)
...
...
2 debug attributes found:
debug attr 0: pseudorandom_err_check value: CH0 : PN9 : Out of Sync : PN Error
CH1 : PN9 : Out of Sync : PN Error
debug attr 1: direct_reg_access value: 0x0
No trigger on this device
I was unsure what the errors were, so I re-flashed the PlutoSDR with the latest Firmware and tried again. Still same errors.
Any ideas what this would be from?
I had a similar issue with GNU Radio Companion 3.8 (GRC) and Adalm Pluto. The root cause is that GRC requires a "tailored" iio package, which is different from the one you install via "pip install pylibiio." I can suggest the following:
Uninstall the Python iio (if you did, so as to avoid masking)
Make sure you install the gr-iio according to the official guide.
In the guide there are directions about making a copy of gr-iio installation and exporting its location to PYTHONPATH. Alternately, you can see some details from my experience.
If you need to use Adalm Pluto with Python, without GRC, I can recommend creating a virtual environment (venv) and installing Python iio there.

No userspace chardev available when using pwm-ir-tx module

I'm attempted to use a pwm output pin as a IR transmitter using a RAMIPS SoC and the PWM IR TX kernel module. I'm running linux 4.14.37 and have added the following entry to the dts file:
pwm_ir_tx1: pwm-ir-transmitter1 {
compatible = "pwm-ir-tx";
pwms = <&pwm 1 100>;
};
I'm loading the rc-core and pwm-ir-tx kernel modules:
lsmod | grep pwm
pwm_ir_tx 2032 0
pwm_mediatek_ramips 1744 1
rc_core 19348 2 pwm_ir_tx
When the pwm-ir-tx module loads, the kernel logs:
[ 3754.108259] rc rc0: PWM IR Transmitter as /devices/platform/pwm-ir-transmitter1/rc/rc0
The sysfs nodes appear to be loaded correctly:
ls -la /sys/class/rc/
drwxr-xr-x 2 root root 0 May 29 00:18 .
drwxr-xr-x 23 root root 0 Jan 1 1970 ..
lrwxrwxrwx 1 root root 0 May 29 01:16 rc0 -> ../../devices/platform/pwm-ir-transmitter1/rc/rc0
But there is no userspace (chardev) lirc device listed in /dev so I'm not sure how I'm supposed to interact with the device. Ideally I'd like to use the Remote Controller API but this requires a chardev to be present in /dev.
ls /dev
autofs mtd2ro network_throughput
console mtd3 null
cpu_dma_latency mtd3ro port
full mtd4 ptmx
gpiochip0 mtd4ro pts
gpiochip1 mtd5 random
gpiochip2 mtd5ro shm
gpiochip3 mtd6 tty
i2c-0 mtd6ro ttyS0
kmsg mtdblock0 ttyS1
log mtdblock1 ttyS2
memory_bandwidth mtdblock2 urandom
mtd0 mtdblock3 watchdog
mtd0ro mtdblock4 watchdog0
mtd1 mtdblock5 zero
mtd1ro mtdblock6
mtd2 network_latency
I've tried loading the lirc_dev module before and after the pwm-ir-tx module, but nothing appears in /dev still, the following output appears when I load the lirc_dev module:
[ 4775.367966] lirc_dev: IR Remote Control driver registered, major 251
But still no lirc userspace device in /dev... I'm thinking the lirc_dev module is required since it provides the lirc userspace api but there doesn't appear to be any connection between it and the pwm-ir-tx module, and it's not creating any lirc chardevs in /dev.
The pwm_ir_tx module seems to be more or less a piggy-back to the pwm driver. And the pwm driver seems to be available at /sys/class/pwm/. See https://www.kernel.org/doc/Documentation/pwm.txt.
BTW, not having a lirc link in rc0/ is not uncommon - not all drivers implements this.
After reading some of rc source files in the kernel, it became obvious the ir-lirc-codec module was also required.
Basically, the pwm-ir-tx driver is defined as a type of RC_DRIVER_IR_RAW_TX. When the rc-core module registers a driver with a type of RC_DRIVER_IR_RAW or RC_DRIVER_IR_RAW_TX it calls the ir_raw_event_prepare function which in turn tries to load the ir-lirc-codec module. Once this module was available the following kernel logs appear:
[ 10.004460] lirc_dev: IR Remote Control driver registered, major 251
[ 10.131011] IR LIRC bridge handler initialized
[ 10.471561] rc rc0: PWM IR Transmitter as /devices/platform/pwm-ir-transmitter1/rc/rc0
[ 10.487456] rc rc0: lirc_dev: driver ir-lirc-codec (pwm-ir-tx) registered at minor = 0
And in /dev there is a lirc chardev device available:
ls /dev/li*
/dev/lirc0

specify pocketsphinx language model or grammar

On Debian I'm trying to launch pocketsphinx_continuous with this arguments:
pocketsphinx_continuous -inmic yes -hmm /usr/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k -adcdev plughw:0,0 -dict /usr/share/pocketsphinx/model/lm/en_US/cmu07a.dic
Here the last part of the output:
INFO: dict.c(320): Allocating 137543 * 20 bytes (2686 KiB) for word entries
INFO: dict.c(333): Reading main dictionary: /usr/share/pocketsphinx/model/lm/en_US/cmu07a.dic
INFO: dict.c(213): Allocated 1010 KiB for strings, 1664 KiB for phones
INFO: dict.c(336): 133436 words read
INFO: dict.c(358): Reading filler dictionary: /usr/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k/noisedict
INFO: dict.c(213): Allocated 0 KiB for strings, 0 KiB for phones
INFO: dict.c(361): 11 words read
INFO: dict2pid.c(396): Building PID tables for dictionary
INFO: dict2pid.c(406): Allocating 50^3 * 2 bytes (244 KiB) for word-initial triphones
INFO: dict2pid.c(132): Allocated 30200 bytes (29 KiB) for word-final triphones
INFO: dict2pid.c(196): Allocated 30200 bytes (29 KiB) for single-phone word triphones
INFO: continuous.c(305): pocketsphinx_continuous COMPILED ON: May 22 2016, AT: 22:01:16
ERROR: "pocketsphinx.c", line 957: No search module is selected, did you forget to specify a language model or grammar?
FATAL: "continuous.c", line 250: Failed to start utterance
I don't know how to specify the language model or grammar as requested.
i also have these files but I don't know if they are related:
ls -l ~/phonetisaurus/
totale 318644
-rwxr-xr-x 1 pi pi 498 mag 15 2012 compile-fst.sh
-rw-r--r-- 1 pi pi 68172496 mag 15 2012 g014b2b.arpa
-rw-r--r-- 1 pi pi 3544610 mag 15 2012 g014b2b.corpus
-rw-r--r-- 1 pi pi 51190845 lug 4 08:49 g014b2b.fst
-rw-r--r-- 1 pi pi 163490139 mag 15 2012 g014b2b.fst.txt
-rw-r--r-- 1 pi pi 380388 mag 15 2012 g014b2b.hyp
-rw-r--r-- 1 pi pi 1223 mag 15 2012 g014b2b.isyms
-rw-r--r-- 1 pi pi 1128 mag 15 2012 g014b2b.osyms
-rw-r--r-- 1 pi pi 299283 mag 15 2012 g014b2b.ref
-rw-r--r-- 1 pi pi 35625073 mag 15 2012 g014b2b.ssyms
-rw-r--r-- 1 pi pi 3452982 mag 15 2012 g014b2b.train
-rw-r--r-- 1 pi pi 101264 mag 15 2012 g014b2b.words
-rw-r--r-- 1 pi pi 1327 mag 15 2012 README.txt
I read the documentation and the help provided launching the command without any arguments but I cannot understand what I'm actually missing.
EDIT:
as suggested I compiled from sources:
wget http://downloads.sourceforge.net/project/cmusphinx/sphinxbase/5prealpha/sphinxbase-5prealpha.tar.gz
wget http://downloads.sourceforge.net/project/cmusphinx/pocketsphinx/5prealpha/pocketsphinx-5prealpha.tar.gz
For each file:
tar xzf <filename>
./configure
make
sudo make install
To be sure it's installed:
which pocketsphinx_continuous
/usr/local/bin/pocketsphinx_continuous
and:
To check that pocketsphinx is installed properly, just run pkg-config –cflags –libs pocketsphinx sphinxbase
pkg-config --cflags --libs pocketsphinx sphinxbase
-I/usr/local/include -I/usr/local/include/sphinxbase -I/usr/local/include/pocketsphinx -I/usr/local/include -I/usr/local/include/sphinxbase -L/usr/local/lib -lpocketsphinx -lsphinxbase -lsphinxad -lpulse -lpulse-simple -lpthread -lm
The tutorial says:
To test installation, run 'pocketsphinx_continuous -inmic yes' and check that it recognizes words you are saying to the microphone.
But:
ERROR: "acmod.c", line 80: Acoustic model definition is not specified either with -mdef option or with -hmm
[full log: http://pastebin.com/HK6xBgVk ]
With this command I'm able to start it:
pocketsphinx_continuous -inmic yes -hmm model/en-us/en-us -lm model/en-us/en-us.lm.bin -dict model/en-us/cmudict-en-us.dict -adcdev plughw:0,0
(without the adcdev field it cannot find the default audio input)
but it doesn't recognize any word (I was saying: "what's the weather like?")
[full log: http://pastebin.com/nfst5NQD ]
You need to remove the outdated pocketsphinx packages from Debian, it is going to have zero accuracy anyway.
You need to install pocketsphinx from source as described in tutorial and follow the tutorial further. To understand the models in speech recognition you can read other part of tutorial.

How do I access a USB drive on a OSX host from inside a docker container?

I have an application that I eventually want to run on a cloud computing service (e.g., such as AWS or Google Cloud) packaged inside a docker image. The reason the application will need to run in the cloud is because it's designed to process large data files, but before I actually deploy, I'd like to test it first on a local laptop, using a single large data file that I've stored (for test and development purposes) on an external USB drive.
My development machine is an OSX laptop, and I'm using a recent version of docker:
stachyra> uname -a
Darwin Andrews-MacBook-Pro-76.local 14.5.0 Darwin Kernel Version 14.5.0: Tue Sep 1 21:23:09 PDT 2015; root:xnu-2782.50.1~1/RELEASE_X86_64 x86_64
stachyra> docker --version
Docker version 1.10.2, build c3959b1
OSX has mounted my external USB drive, device /dev/disk2s2, as /Volumes/MGR DATA:
stachyra> df
Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on
/dev/disk1 974770480 435721376 538537104 45% 54529170 67317138 45% /
devfs 375 375 0 100% 650 0 100% /dev
map -hosts 0 0 0 100% 0 0 100% /net
map auto_home 0 0 0 100% 0 0 100% /home
/dev/disk2s2 3906291632 3869523640 36767992 100% 483690453 4595999 99% /Volumes/MGR DATA
/dev/disk3s1 196608 193160 3448 99% 24143 431 98% /Volumes/VirtualBox
stachyra> diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.3 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_CoreStorage 499.4 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Macintosh HD *499.1 GB disk1
Logical Volume on disk0s2
DB70B91A-3B57-4C82-A758-C4BDEA4160FD
Unlocked Encrypted
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *2.0 TB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_HFS MGR DATA 2.0 TB disk2s2
/dev/disk3
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *100.7 MB disk3
1: Apple_HFS VirtualBox 100.7 MB disk3s1
and it should also be noted, the drive has several directories and data which are visible inside it, at least when viewed directly through OSX:
stachyra> ls -l /Volumes/MGR\ DATA
total 0
drwxr-xr-x 6 stachyra staff 204 Apr 14 2015 1000genomes
drwxr-xr-x 5 stachyra staff 170 Oct 12 17:41 GIAB
drwxr-xr-x 4 stachyra staff 136 Apr 28 2015 genome_browser_tracks
drwxr-xr-x 24 stachyra staff 816 Oct 6 14:00 mitty
I have tried to follow the advice from this question, which describes how to mount a USB drive in docker when docker is running within a linux host. But my local laptop is OSX, not linux, so it doesn't seem to work.
Explicitly, when attempting to follow the advice of the accepted answer, I obtain the following result:
stachyra> docker run -i -t --privileged -v /dev/disk2s2:/dev/foo ubuntu bash
root#8da7b492a707:/# uname -a
Linux 8da7b492a707 4.1.18-boot2docker #1 SMP Sat Feb 20 08:24:27 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
root#8da7b492a707:/# ls -l /dev/foo
total 0
root#8da7b492a707:/#
Based upon the response, one can see that docker does indeed launch a linux container correctly, and it also creates a volume /dev/foo inside of the container as requested, but the actual contents of the USB drive are not accessible via that location--the ls -l command claims there are no files or directories there.
I also tried the second method described in an alternate response to the same question, and that fails even worse:
stachyra> docker run -i -t --device=/dev/disk2s2 ubuntu bash
docker: Error response from daemon: error gathering device information while adding custom device "/dev/disk2s2": not a device node.
stachyra>
I have found another discussion thread on stackoverflow which suggests that raw USB access is handled quite differently in OSX than in linux, which I suspect is probably the reason why both of the above attempts at USB access are failing.
But, what should I actually do about it? That is to say, what is the correct sequence of actions or commands to allow docker to access a USB device mounted on an OSX host, rather than linux?
I was finally able to access my USB drive from /var/media inside my container by using the machine-diskutil.sh script mentioned in warmoverflow's comment like so
machine-diskutil.sh mount my-machine-name /Volumes/my-usb-drive
and then starting the container like so
docker run -v /Volumes/my-usb-drive:/var/media -it my/image:latest bash
Because I had tried to add /Volumes/my-usb-drive as a shared folder manually in VirtualBox, I first got this error.
Error: The shared folder /Volumes/Seagate already exists on the
docker machine, please unmount it first.
So I removed it manually and re-ran the machine-diskutil.sh mount command without any problems. Great stuff!
As per #pgayvallet comment on GitHub:
As the daemon runs inside a VM in Docker Desktop, it is not possible to actually share a mac host device with the container inside the VM, and this will most definitely never be possible.

Linux 2.6.28 crashes when mem=1024M is passed as boot parameter from u-boot

I am working on building an linux for powerpc 8641d board. My U-boot has been modified to recognize 1 GB of memory(RAM) and it does. But Linux 2.6.28 crashes when mem=1024M is passed as boot parameter from u-boot. I have specified the memory size as 0x40000000 (1GB) in DTS file. Can any one help me to findout the reason?
But the same Linux image works when I specify bootargs as 'mem=256M'. But OS idetifies the total memory of 256MB only but I want it to identify complete 1GB memory.
Here is the dump of linux boot: ** It hangs at this point:
CPU: 8641D, Version: 3.0, (0x80900130)
Core: E600 Core 0, Version: 2.2, (0x80040202)
Clock Configuration:
CPU:1000 MHz, MPX:400 MHz
DDR:200 MHz (400 MT/s data rate), LBC:25 MHz
L1: D-cache 32 KB enabled
I-cache 32 KB enabled
L2: 512 KB enabled
Board: Wind River SBC8641D
I2C: ready
DRAM: DDR: 1 GiB
FLASH: 16 MiB
PCI-EXPRESS 1: Configured as Host
IGAPS: PCIE link is Up
Scanning PCI bus 01
01 00 10cf 2034 0380 ff
PCI-EXPRESS 1 on bus 00 - 01
PCI-EXPRESS 2: Disabled
In: serial
Out: serial
Err: serial
IGAPS: Interrupts enabled...!!!!
Net: eTSEC1, eTSEC2, eTSEC3, eTSEC4
Hit any key to stop autoboot: 0
=> bootm 1000000 - 2000000
WARNING: adjusting available memory to 30000000
## Booting kernel from Legacy Image at 01000000 ...
Image Name: Linux-2.6.28
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 2417424 Bytes = 2.3 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 02000000
Booting using the fdt blob at 0x2000000
Uncompressing Kernel Image ... OK
Loading Device Tree to 007fb000, end 007ffb2d ... OK
WARNING: your dts/dtb is old. You must update before the next kernel release
Using MPC86xx HPCN machine description
Total memory = 1024MB; using 2048kB for hash table (at cfe00000)
Linux version 2.6.28 (TCS#localhost) (gcc version 4.5.4 (Buildroot 2012.11.1) ) #42 SMP Tue Aug 20 22:32:49 IST 2013
CPU maps initialized for 1 thread per core
console [udbg0] enabled
setup_arch: bootmem
mpc86xx_hpcn_setup_arch()
Found FSL PCI host bridge at 0x00000000f8008000. Firmware bus number: 0->1
Zone PFN ranges:
DMA 0x00000000 -> 0x00030000
Normal 0x00030000 -> 0x00030000
HighMem 0x00030000 -> 0x00040000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0x00000000 -> 0x00040000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260096
Kernel command line: console=ttyS0,115200 mem=1024M ip=172.19.180.10:172.19.180.30:172.19.180.1:255.255.255.0:sbc8641d:eth0:off rw root=/dev/nfs nfsroot=172.19.180.30:/opt/nfsRootfs
PID hash table entries: 4096 (order: 12, 16384 bytes)
clocksource: timebase mult[2800000] shift[22] registered
Console: colour dummy device 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1031376k/1048576k available (4632k kernel code, 16396k reserved, 144k data, 175k bss, 208k init)
Any reason why it hangs here?

Resources