LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 01-01-2019, 03:53 PM   #1
rdb9879
LQ Newbie
 
Registered: Jan 2019
Posts: 8

Rep: Reputation: Disabled
eth0 missing after kernel build


Greetings. I'm trying to learn about the process of building linux to run on an embedded ARM board. Luckily, the board manufacturer had a ton of info to spoon feed me: The device tree source, a ramdisk image, a prebuilt uImage to use a known working example, a prebuilt u-boot image as a working example, and the ability to use "multi_v7_defconfig" to generate the appropriate .config file. Aren't I lucky?

So basically all I had to do was download the linux source, give it a cross compiler, and build uImage. So I do it and....whoops it didn't boot. Turns out the "multi_v7_defconfig" didn't setup everything quite right. I had to fiddle around with the "CONFIG_BLK_DEV_RAM" settings to make everything work as a ram disk (as there's no mmc card/hard drive)

Now I can get the system to boot, but I can't get the eth0 interface to come up. This is the error I'm getting:

Code:
ifconfig eth0 169.254.196.230
ifconfig: SIOCSIFADDR: No such device
Note that the same command works fine when I use the example prebuilt uImage. And since I'm using the same dtb and ramdisk image, I'm assuming this is just another kernel .config setting.

How do I configure the kernel to recognize/utilize eth0?

Here is some ethernet related snippets from the device tree source:

Code:
	aliases {
		ethernet0 = "/amba/ethernet@e000b000";
		serial0 = "/amba/serial@e0001000";
		spi0 = "/amba/spi@e000d000";
	};
...

		ethernet@e000b000 {
			compatible = "xlnx,ps7-ethernet-1.00.a";
			reg = <0xe000b000 0x1000>;
			status = "okay";
			interrupts = <0x0 0x16 0x4>;
			clocks = <0x1 0xd 0x1 0x1e>;
			clock-names = "ref_clk", "aper_clk";
			local-mac-address = [00 0a 35 00 00 00];
			xlnx,has-mdio = <0x1>;
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			phy-mode = "rgmii-id";
			phy-handle = <0x4>;

			phy@0 {
				reg = <0x0>;
				marvel,reg-init = <3 16 0xff00 0x1e 3 17 0xfff0 0x00>;
				linux,phandle = <0x4>;
				phandle = <0x4>;
			};
		};
Here's the boot log from the working prebuilt uImage:

Code:
U-Boot 2013.01-dirty (Jun 14 2013 - 16:25:48)

DRAM:  512 MiB
WARNING: Caches not enabled
MMC:   zynq_sdhci: 0
SF: Detected S25FL129P_64K with page size 64 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   Gem.e000b000
Hit any key to stop autoboot:  0
zynq-uboot> setenv ipaddr 169.254.196.230
zynq-uboot> tftpboot 0x3000000 169.254.196.221:uImage
Gem.e000b000 Waiting for PHY auto negotiation to complete...... done
Using Gem.e000b000 device
TFTP from server 169.254.196.221; our IP address is 169.254.196.230
Filename 'uImage'.
Load address: 0x3000000
Loading: T #################################################################
         #################################################################
         #################################################################
         #######################################
         569.3 KiB/s
done
Bytes transferred = 3421712 (343610 hex)
zynq-uboot> tftpboot 0x2000000 169.254.196.221:uramdisk.image.gz
Gem.e000b000:0 is connected to Gem.e000b000.  Reconnecting to Gem.e000b000
Gem.e000b000 Waiting for PHY auto negotiation to complete...... done
Using Gem.e000b000 device
TFTP from server 169.254.196.221; our IP address is 169.254.196.230
Filename 'uramdisk.image.gz'.
Load address: 0x2000000
Loading: T #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #####################################
         808.6 KiB/s
done
Bytes transferred = 5309927 (5105e7 hex)
zynq-uboot> tftpboot 0x2a00000 169.254.196.221:zynq-zed4.dtb
Gem.e000b000:0 is connected to Gem.e000b000.  Reconnecting to Gem.e000b000
Gem.e000b000 Waiting for PHY auto negotiation to complete...... done
Using Gem.e000b000 device
TFTP from server 169.254.196.221; our IP address is 169.254.196.230
Filename 'zynq-zed4.dtb'.
Load address: 0x2a00000
Loading: T #
         1000 Bytes/s
done
Bytes transferred = 9243 (241b hex)
zynq-uboot> bootm 0x3000000 0x2000000 0x2a00000
## Booting kernel from Legacy Image at 03000000 ...
   Image Name:   Linux-3.17.0-xilinx-ga61af22
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3421648 Bytes = 3.3 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 02000000 ...
   Image Name:
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    5309863 Bytes = 5.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02a00000
   Booting using the fdt blob at 0x02a00000
   Loading Kernel Image ... OK
OK
   Loading Ramdisk to 1f645000, end 1fb555a7 ... OK
   Loading Device Tree to 1f63f000, end 1f64441a ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 3.17.0-xilinx-ga61af22 (sorenb@xsjpsgb1010) (gcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-23) ) #1 SMP PREEMPT Mon Nov 24 21:01:59 PST 2014
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Zynq Zed Development Board
cma: Reserved 16 MiB at 3f000000
Memory policy: Data cache writealloc
PERCPU: Embedded 8 pages/cpu @7e7d5000 s8704 r8192 d15872 u32768
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260096
Kernel command line: console=ttyPS0,115200 root=/dev/ram rw earlyprintk
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1010916K/1048576K available (4631K kernel code, 239K rwdata, 1592K rodata, 204K init, 210K bss, 37660K reserved, 0K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xffe00000   (2048 kB)
    vmalloc : 0x80800000 - 0xff000000   (2024 MB)
    lowmem  : 0x40000000 - 0x80000000   (1024 MB)
    pkmap   : 0x3fe00000 - 0x40000000   (   2 MB)
    modules : 0x3f000000 - 0x3fe00000   (  14 MB)
      .text : 0x40008000 - 0x4061c1d4   (6225 kB)
      .init : 0x4061d000 - 0x40650200   ( 205 kB)
      .data : 0x40652000 - 0x4068dfa0   ( 240 kB)
       .bss : 0x4068dfa0 - 0x406c28ac   ( 211 kB)
Preemptible hierarchical RCU implementation.
        Dump stacks of tasks blocking RCU-preempt GP.
        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
NR_IRQS:16 nr_irqs:16 16
L2C: platform provided aux values match the hardware, so have no effect.  Please remove them.
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 1 lines
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 8 ways, 512 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76360001
slcr mapped to 80804000
zynq_clock_init: clkc starts at 80804100
Zynq clock init
sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 3298534883328ns
timer #0 at 80806000, irq=43
Console: colour dummy device 80x30
Calibrating delay loop... 1332.01 BogoMIPS (lpj=6660096)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x460bc8 - 0x460c20
CPU1: Booted secondary processor
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated.
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
regulator-dummy: no parameters
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
cpuidle: using governor menu
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0x80880000
VCCPINT: 1000 mV
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
media: Linux media interface: v0.10
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
EDAC MC: Ver: 3.0.0
Advanced Linux Sound Architecture Driver Initialized.
Switched to clocksource arm_global_timer
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
rootfs image is not initramfs (no cpio magic); looks like an initrd
Freeing initrd memory: 5184K (5f645000 - 5fb55000)
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
futex hash table entries: 512 (order: 3, 32768 bytes)
jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
msgmni has been set to 2016
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-2364208
dma-pl330 f8003000.dmac:        DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 82, base_baud = 3125000) is a xuartps
console [ttyPS0] enabled
xdevcfg f8007000.devcfg: ioremap 0xf8007000 to 8086a000
[drm] Initialized drm 1.1.0 20060810
brd: module loaded
loop: module loaded
m25p80 spi0.0: found s25fl129p1, expected n25q128a11
m25p80 spi0.0: s25fl129p1 (16384 Kbytes)
5 ofpart partitions found on MTD device spi0.0
Creating 5 MTD partitions on "spi0.0":
0x000000000000-0x000000100000 : "qspi-fsbl-uboot"
0x000000100000-0x000000600000 : "qspi-linux"
0x000000600000-0x000000620000 : "qspi-device-tree"
0x000000620000-0x000000c00000 : "qspi-rootfs"
0x000000c00000-0x000001000000 : "qspi-bitstream"
CAN device driver interface
e1000e: Intel(R) PRO/1000 Network Driver - 2.3.2-k
e1000e: Copyright(c) 1999 - 2014 Intel Corporation.
libphy: XEMACPS mii bus: probed
xemacps e000b000.ethernet: pdev->id -1, baseaddr 0xe000b000, irq 54
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
ULPI transceiver vendor/product ID 0x0424/0x0007
Found SMSC USB3320 ULPI transceiver.
ULPI integrity check: passed.
zynq-ehci zynq-ehci.0: Xilinx Zynq USB EHCI Host Controller
zynq-ehci zynq-ehci.0: new USB bus registered, assigned bus number 1
zynq-ehci zynq-ehci.0: irq 53, io mem 0x00000000
zynq-ehci zynq-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
usbcore: registered new interface driver usb-storage
mousedev: PS/2 mouse device common for all mice
i2c /dev entries driver
cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer at 80872000 with timeout 10s
zynq-edac f8006000.memory-controller: ecc not enabled
cpufreq: __cpufreq_add_dev: CPU0: Running at unlisted freq: 666666 KHz
cpufreq: __cpufreq_add_dev: CPU0: Unlisted initial frequency changed to: 666667 KHz
Xilinx Zynq CpuIdle Driver started
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
sdhci-arasan e0100000.sdhci: No vmmc regulator found
sdhci-arasan e0100000.sdhci: No vqmmc regulator found
mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using ADMA
ledtrig-cpu: registered to indicate activity on CPUs
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
Registering SWP/SWPB emulation handler
/group/siv2/staff/sorenb/osl_releases/2014.4/zc702/build/linux/kernel/download/linux-xlnx/drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
ALSA device list:
  No soundcards found.
RAMDISK: gzip image found at block 0
VFS: Mounted root (ext2 filesystem) on device 1:0.
devtmpfs: mounted
Freeing unused kernel memory: 204K (4061d000 - 40650000)
Starting rcS...
++ Mounting filesystem
mount: mounting /dev/mmcblk0p1 on /mnt failed: No such file or directory
mount: mounting /dev/mmcblk0 on /mnt failed: No such file or directory
++ Setting up mdev
++ Starting telnet daemon
++ Starting http daemon
++ Starting ftp daemon
++ Starting ssh daemon
random: sshd urandom read with 0 bits of entropy available
rcS Complete
zynq>
and here's the bootlog from the kernel I built:

Code:
U-Boot 2013.01-dirty (Jun 14 2013 - 16:25:48)

DRAM:  512 MiB
WARNING: Caches not enabled
MMC:   zynq_sdhci: 0
SF: Detected S25FL129P_64K with page size 64 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   Gem.e000b000
Hit any key to stop autoboot:  0
zynq-uboot> setenv ipaddr 169.254.196.230
zynq-uboot> tftpboot 0x3000000 169.254.196.221:uImage6
Gem.e000b000 Waiting for PHY auto negotiation to complete...... done
Using Gem.e000b000 device
TFTP from server 169.254.196.221; our IP address is 169.254.196.230
Filename 'uImage6'.
Load address: 0x3000000
Loading: T #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ###########
         775.4 KiB/s
done
Bytes transferred = 4919648 (4b1160 hex)
zynq-uboot> tftpboot 0x2000000 169.254.196.221:uramdisk.image.gz
Gem.e000b000:0 is connected to Gem.e000b000.  Reconnecting to Gem.e000b000
Gem.e000b000 Waiting for PHY auto negotiation to complete..... done
Using Gem.e000b000 device
TFTP from server 169.254.196.221; our IP address is 169.254.196.230
Filename 'uramdisk.image.gz'.
Load address: 0x2000000
Loading: T #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #####################################
         832 KiB/s
done
Bytes transferred = 5309927 (5105e7 hex)
zynq-uboot> tftpboot 0x2a00000 169.254.196.221:zynq-zed4.dtb
Gem.e000b000:0 is connected to Gem.e000b000.  Reconnecting to Gem.e000b000
Gem.e000b000 Waiting for PHY auto negotiation to complete..... done
Using Gem.e000b000 device
TFTP from server 169.254.196.221; our IP address is 169.254.196.230
Filename 'zynq-zed4.dtb'.
Load address: 0x2a00000
Loading: T #
         1000 Bytes/s
done
Bytes transferred = 9243 (241b hex)
zynq-uboot> bootm 0x3000000 0x2000000 0x2a00000
## Booting kernel from Legacy Image at 03000000 ...
   Image Name:   Linux-3.16.62
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4919584 Bytes = 4.7 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 02000000 ...
   Image Name:
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    5309863 Bytes = 5.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02a00000
   Booting using the fdt blob at 0x02a00000
   Loading Kernel Image ... OK
OK
   Loading Ramdisk to 1f645000, end 1fb555a7 ... OK
   Loading Device Tree to 1f63f000, end 1f64441a ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.16.62 (zynq@zynq-VirtualBox) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) ) #6 SMP Tue Jan 1 16:21:33 EST 2019
[    0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: Zynq Zed Development Board
[    0.000000] cma: CMA: reserved 64 MiB at 2b800000
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] PERCPU: Embedded 7 pages/cpu @eafbb000 s8064 r8192 d12416 u32768
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260624
[    0.000000] Kernel command line: console=ttyPS0,115200 root=/dev/ram rw earlyprintk
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 957132K/1048576K available (6495K kernel code, 893K rwdata, 2576K rodata, 663K init, 301K bss, 91444K reserved, 270336K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xffe00000   (2048 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0208000 - 0xc0ae3ebc   (9072 kB)
[    0.000000]       .init : 0xc0ae4000 - 0xc0b89f80   ( 664 kB)
[    0.000000]       .data : 0xc0b8a000 - 0xc0c69780   ( 894 kB)
[    0.000000]        .bss : 0xc0c69788 - 0xc0cb4e44   ( 302 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=2.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] L2C: platform provided aux values match the hardware, so have no effect.  Please remove them.
[    0.000000] L2C-310 erratum 769419 enabled
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
[    0.000000] L2C-310 ID prefetch enabled, offset 1 lines
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000] L2C-310 cache controller enabled, 8 ways, 512 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76360001
[    0.000000] slcr mapped to f0004000
[    0.000000] zynq_clock_init: clkc starts at f0004100
[    0.000000] Zynq clock init
[    0.000009] sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 3298534883328ns
[    0.000107] timer #0 at f0006000, irq=43
[    0.000358] Console: colour dummy device 80x30
[    0.000379] Calibrating delay loop... 1327.10 BogoMIPS (lpj=3317760)
[    0.025198] pid_max: default: 32768 minimum: 301
[    0.025313] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.025325] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.025830] CPU: Testing write buffer coherency: ok
[    0.026001] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.026048] Setting up static identity map for 0x82ef50 - 0x82efe8
[    0.027883] CPU1: Booted secondary processor
[    0.055185] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.055255] Brought up 2 CPUs
[    0.055274] SMP: Total of 2 processors activated (2659.94 BogoMIPS).
[    0.055280] CPU: All CPU(s) started in SVC mode.
[    0.055780] devtmpfs: initialized
[    0.057762] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.058071] futex hash table entries: 512 (order: 3, 32768 bytes)
[    0.058219] pinctrl core: initialized pinctrl subsystem
[    0.058594] regulator-dummy: no parameters
[    0.064225] NET: Registered protocol family 16
[    0.066865] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.068080] cpuidle: using governor ladder
[    0.068095] cpuidle: using governor menu
[    0.072260] No ATAGs?
[    0.072292] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.072301] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.072418] EXYNOS: PMU not supported
[    0.073581] Serial: AMBA PL011 UART driver
[    0.097558] edma-dma-engine edma-dma-engine.0: Can't allocate PaRAM dummy slot
[    0.097582] edma-dma-engine: probe of edma-dma-engine.0 failed with error -5
[    0.097968] VCCPINT: 1000 mV
[    0.099370] vgaarb: loaded
[    0.099969] SCSI subsystem initialized
[    0.100497] usbcore: registered new interface driver usbfs
[    0.100566] usbcore: registered new interface driver hub
[    0.100677] usbcore: registered new device driver usb
[    0.101232] Linux video capture interface: v2.00
[    0.101281] pps_core: LinuxPPS API ver. 1 registered
[    0.101289] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.101316] PTP clock support registered
[    0.101410] EDAC MC: Ver: 3.0.0
[    0.102069] Advanced Linux Sound Architecture Driver Initialized.
[    0.103055] Switched to clocksource arm_global_timer
[    0.112565] NET: Registered protocol family 2
[    0.113274] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    0.113366] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.113511] TCP: Hash tables configured (established 8192 bind 8192)
[    0.113562] TCP: reno registered
[    0.113577] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.113621] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.113788] NET: Registered protocol family 1
[    0.114079] RPC: Registered named UNIX socket transport module.
[    0.114090] RPC: Registered udp transport module.
[    0.114097] RPC: Registered tcp transport module.
[    0.114104] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.114468] Trying to unpack rootfs image as initramfs...
[    0.115173] rootfs image is not initramfs (no cpio magic); looks like an initrd
[    0.135930] Freeing initrd memory: 5184K (df645000 - dfb55000)
[    0.136211] hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
[    0.148770] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.149479] NFS: Registering the id_resolver key type
[    0.149516] Key type id_resolver registered
[    0.149525] Key type id_legacy registered
[    0.149578] msgmni has been set to 1479
[    0.149999] bounce: pool size: 64 pages
[    0.150208] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[    0.150227] io scheduler noop registered
[    0.150241] io scheduler deadline registered
[    0.150580] io scheduler cfq registered (default)
[    0.155408] dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-2364208
[    0.155425] dma-pl330 f8003000.dmac:         DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
[    0.212669] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.214237] Serial: IMX driver
[    0.214448] msm_serial: driver initialized
[    0.214734] STMicroelectronics ASC driver initialized
[    0.215080] e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 82, base_baud = 3125000) is a xuartps
[    0.874082] console [ttyPS0] enabled
[    0.878187] serial: Freescale lpuart driver
[    0.882413] [drm] Initialized drm 1.1.0 20060810
[    0.894418] brd: module loaded
[    0.900758] loop: module loaded
[    0.906886] CAN device driver interface
[    0.911971] usbcore: registered new interface driver asix
[    0.917369] usbcore: registered new interface driver ax88179_178a
[    0.923437] usbcore: registered new interface driver cdc_ether
[    0.929268] usbcore: registered new interface driver smsc75xx
[    0.935014] usbcore: registered new interface driver smsc95xx
[    0.940744] usbcore: registered new interface driver net1080
[    0.946387] usbcore: registered new interface driver cdc_subset
[    0.952279] usbcore: registered new interface driver zaurus
[    0.957878] usbcore: registered new interface driver cdc_ncm
[    0.963492] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.969975] ehci-pci: EHCI PCI platform driver
[    0.974450] ehci-platform: EHCI generic platform driver
[    0.979720] ehci-omap: OMAP-EHCI Host Controller driver
[    0.984956] ehci-orion: EHCI orion driver
[    0.988973] SPEAr-ehci: EHCI SPEAr driver
[    0.992980] ehci-exynos: EHCI EXYNOS driver
[    0.997176] tegra-ehci: Tegra EHCI driver
[    1.001213] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.007338] ohci-pci: OHCI PCI platform driver
[    1.011804] ohci-platform: OHCI generic platform driver
[    1.017045] ohci-omap3: OHCI OMAP3 driver
[    1.021066] SPEAr-ohci: OHCI SPEAr driver
[    1.025536] usbcore: registered new interface driver usb-storage
[    1.032708] mousedev: PS/2 mouse device common for all mice
[    1.039874] i2c /dev entries driver
[    1.043983] usbcore: registered new interface driver uvcvideo
[    1.049653] USB Video Class driver (1.1.1)
[    1.053734] gspca_main: v2.14.0 registered
[    1.059454] sdhci: Secure Digital Host Controller Interface driver
[    1.065563] sdhci: Copyright(c) Pierre Ossman
[    1.070462] Synopsys Designware Multimedia Card Interface Driver
[    1.076799] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.082999] mmc0: no vqmmc regulator found
[    1.087027] mmc0: no vmmc regulator found
[    1.118078] mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using ADMA
[    1.125819] usbcore: registered new interface driver usbhid
[    1.131326] usbhid: USB HID core driver
[    1.138649] TCP: cubic registered
[    1.141889] NET: Registered protocol family 17
[    1.146350] can: controller area network core (rev 20120528 abi 9)
[    1.152740] NET: Registered protocol family 29
[    1.157123] can: raw protocol (rev 20120528)
[    1.161368] can: broadcast manager protocol (rev 20120528 t)
[    1.167015] can: netlink gateway (rev 20130117) max_hops=1
[    1.172834] Key type dns_resolver registered
[    1.177149] ThumbEE CPU extension supported.
[    1.181364] Registering SWP/SWPB emulation handler
[    1.187146] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[    1.196574] ALSA device list:
[    1.199492]   No soundcards found.
[    1.203516] RAMDISK: gzip image found at block 0
[    1.731441] EXT4-fs (ram0): couldn't mount as ext3 due to feature incompatibilities
[    1.739207] EXT4-fs (ram0): mounting ext2 file system using the ext4 subsystem
[    1.747065] EXT4-fs (ram0): mounted filesystem without journal. Opts: (null)
[    1.754096] VFS: Mounted root (ext2 filesystem) on device 1:0.
[    1.760207] devtmpfs: mounted
[    1.763818] Freeing unused kernel memory: 660K (c0ae4000 - c0b89000)
Starting rcS...
++ Mounting filesystem
mount: mounting /dev/mmcblk0p1 on /mnt failed: No such file or directory
mount: mounting /dev/mmcblk0 on /mnt failed: No such file or directory
++ Setting up mdev
++ Starting telnet daemon
++ Starting http daemon
++ Starting ftp daemon
++ Starting ssh daemon
[    2.105619] random: sshd: uninitialized urandom read (32 bytes read, 0 bits of entropy available)
rcS Complete
zynq> ifconfig
zynq> ifconfig eth0 169.254.196.230
ifconfig: SIOCSIFADDR: No such device
 
Old 01-02-2019, 09:35 AM   #2
hazel
LQ Guru
 
Registered: Mar 2016
Location: Harrow, UK
Distribution: LFS, AntiX, Slackware
Posts: 7,572
Blog Entries: 19

Rep: Reputation: 4451Reputation: 4451Reputation: 4451Reputation: 4451Reputation: 4451Reputation: 4451Reputation: 4451Reputation: 4451Reputation: 4451Reputation: 4451Reputation: 4451
Did you configure in networking and ethernet? Did you build a suitable driver for your card (either in-core or as a module)? Your boot log suggests that the kernel hasn't found any network devices, so maybe it wasn't told to look for them.

The fact that ifconfig hasn't even found a loopback device suggests that you haven't configured networking at all.
 
Old 01-02-2019, 09:01 PM   #3
frankbell
LQ Guru
 
Registered: Jan 2006
Location: Virginia, USA
Distribution: Slackware, Ubuntu MATE, Mageia, and whatever VMs I happen to be playing with
Posts: 19,321
Blog Entries: 28

Rep: Reputation: 6141Reputation: 6141Reputation: 6141Reputation: 6141Reputation: 6141Reputation: 6141Reputation: 6141Reputation: 6141Reputation: 6141Reputation: 6141Reputation: 6141
Perhaps that Linux build is using the laughingly misnamed "predictable device names" convention. What is the output of ifconfig -a?
 
Old 01-03-2019, 08:19 AM   #4
rdb9879
LQ Newbie
 
Registered: Jan 2019
Posts: 8

Original Poster
Rep: Reputation: Disabled
I believe `ifconfig -a` shows nothing at all, or just the local loopback. I'll have to double check when I'm near the device again. As far as I could tell, I had CONFIGs for things with "NET" in the name, and from googling, I know I at least had to correct MARVELL PHY driver included in the CONFIG. I'll try to include my .config file on the next post.
 
Old 01-03-2019, 07:08 PM   #5
rdb9879
LQ Newbie
 
Registered: Jan 2019
Posts: 8

Original Poster
Rep: Reputation: Disabled
So here is the output of `ifconfig -a`

Code:
zynq> ifconfig -a
lo        Link encap:Local Loopback
          LOOPBACK  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
And attached is my .config.
Attached Files
File Type: txt dotconfig.txt (112.9 KB, 16 views)
 
Old 01-03-2019, 08:39 PM   #6
frankbell
LQ Guru
 
Registered: Jan 2006
Location: Virginia, USA
Distribution: Slackware, Ubuntu MATE, Mageia, and whatever VMs I happen to be playing with
Posts: 19,321
Blog Entries: 28

Rep: Reputation: 6141Reputation: 6141Reputation: 6141Reputation: 6141Reputation: 6141Reputation: 6141Reputation: 6141Reputation: 6141Reputation: 6141Reputation: 6141Reputation: 6141
Well, I guessed wrong.

Unfortunately, I'm over my head and have no idea what to suggest as a next step. I hope someone who knows more than me will step in.
 
Old 01-04-2019, 05:51 PM   #7
rdb9879
LQ Newbie
 
Registered: Jan 2019
Posts: 8

Original Poster
Rep: Reputation: Disabled
Okay sounds good. Thanks for taking a look. It is also very possible that I have something even more fundamental or basic screwed up, since I hardly know what I'm doing and most of the billion configurations are a mystery to me. If only there was a way to extract out a .config file from the working uImage.
 
Old 01-05-2019, 06:47 PM   #8
rdb9879
LQ Newbie
 
Registered: Jan 2019
Posts: 8

Original Poster
Rep: Reputation: Disabled
I think I've made a little bit of progress. Now that I've researched how custom drivers are found/utilized, it looks like I was missing the "xlnx,ps7-ethernet-1.00.a" driver source code. I couldn't quite find it, but I did find an example using compatible = "cdns,gem", which I did have the driver source code for. I'm assuming the example working uImage had been built with the missing xlnx,ps7-ethernet-1.00.a. Now, I am able to see eth0 in the `ifconfig -a` report, assign it an IP address, see the link go up and down as I take the ethernet cable up and down, but I am still not able to get a ping to work.

At least it's a little bit of progress.

Is there an obvious/quick way to determine whether a device in the device-tree is missing its driver?
 
Old 03-29-2024, 04:51 AM   #9
Ali Moajiz
LQ Newbie
 
Registered: Mar 2024
Posts: 1

Rep: Reputation: 0
Why Ethernet PHY auto-negotiation seems to be completed in the early logs?

Greetings, I am facing a comparable issue and seek insight into the kernel's inability to locate the eth0 device, particularly in light of the initial logs affirming successful PHY auto-negotiation. Additionally, the absence of an enet-reset pin in the device tree prompts consideration: could this absence be the root cause of the kernel's failure to detect the eth0 device following successful PHY auto-negotiation?
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Linux 4.4 seems to refuse to build IPv6 for the 64-bit build - 32-bit build works fine GameCodingNinja Linux From Scratch 2 02-07-2016 06:40 PM
vnStat - if pointed to eth0 will it aggregate eth0 and eth0:1 alias stardotstar Linux - Networking 0 07-20-2010 07:49 PM
self build rpm fails with missing dependencies on build host zhjim Linux - Software 1 09-24-2009 08:47 AM
Missing /lib/modules/<build name>/build for installing HP PSPs mikemc58 Linux - Server 1 06-10-2009 09:18 AM
LXer: Build 'em Right, Build 'em Strong, Build 'em Linux LXer Syndicated Linux News 0 10-01-2007 09:51 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 10:58 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration