Somewhat out of curiosity, somewhat out of frustration to get zybo linux builds all complete manually, I decided to try configuring/compiling the Linux-Digilent-dev kernel source from within petalinux tools. This avoids a large number of steps (to generate uboot, fsbl, project management, etc).
After creating a project via `petalinux-create -t project`, and then importing hardware bsp, I placed a copy of the Linux-Digilent-dev within %PETALINUX_PROJECT%/components/linux-kernel/Linux-Digilent-dev.
I only had to run petalinux-config and set the device tree include dir manually to point within the above directory, and to select the above as the kernel source.
Compiles mostly work, except for an exception looking for BITS_PER_LONG in various places. I found the ./arch/arm/include/uapi/asm/bitsperlong.h file missing, copied it from one of the other locations, and that got through a few errors, until I hit this one:
[ALL ] In file included from ~/ZYBO_linux_bd/petalinux_bd/components/linux-kernel/Linux-Digilent-dev/scripts/mod/devicetable-offsets.c:2:0:
[ALL ] ~/ZYBO_linux_bd/petalinux_bd/components/linux-kernel/Linux-Digilent-dev/include/linux/mod_devicetable.h:311:48: error: 'BITS_PER_LONG' undeclared here (not in a function)
[ALL ] kernel_ulong_t evbit[INPUT_DEVICE_ID_EV_MAX / BITS_PER_LONG + 1];
[ALL ] ^
[ERROR] make[5]: *** [scripts/mod/devicetable-offsets.s] Error 1
[ERROR] make[4]: *** [scripts/mod] Error 2
[ERROR] make[3]: *** [scripts] Error 2
[
I am beginning to think some other config setting is incorrect.
Does any one have an idea of what the issue could be? I'll go and try to compile the kernel manually, but I ran into issues trying to configure and compile u-boot, which is why I ended up taking this path.
Question
jkoller
Somewhat out of curiosity, somewhat out of frustration to get zybo linux builds all complete manually, I decided to try configuring/compiling the Linux-Digilent-dev kernel source from within petalinux tools. This avoids a large number of steps (to generate uboot, fsbl, project management, etc).
After creating a project via `petalinux-create -t project`, and then importing hardware bsp, I placed a copy of the Linux-Digilent-dev within %PETALINUX_PROJECT%/components/linux-kernel/Linux-Digilent-dev.
I only had to run petalinux-config and set the device tree include dir manually to point within the above directory, and to select the above as the kernel source.
Compiles mostly work, except for an exception looking for BITS_PER_LONG in various places. I found the ./arch/arm/include/uapi/asm/bitsperlong.h file missing, copied it from one of the other locations, and that got through a few errors, until I hit this one:
[ALL ] In file included from ~/ZYBO_linux_bd/petalinux_bd/components/linux-kernel/Linux-Digilent-dev/scripts/mod/devicetable-offsets.c:2:0:
[ALL ] ~/ZYBO_linux_bd/petalinux_bd/components/linux-kernel/Linux-Digilent-dev/include/linux/mod_devicetable.h:311:48: error: 'BITS_PER_LONG' undeclared here (not in a function)
[ALL ] kernel_ulong_t evbit[INPUT_DEVICE_ID_EV_MAX / BITS_PER_LONG + 1];
[ALL ] ^
[ERROR] make[5]: *** [scripts/mod/devicetable-offsets.s] Error 1
[ERROR] make[4]: *** [scripts/mod] Error 2
[ERROR] make[3]: *** [scripts] Error 2
[
I am beginning to think some other config setting is incorrect.
Does any one have an idea of what the issue could be? I'll go and try to compile the kernel manually, but I ran into issues trying to configure and compile u-boot, which is why I ended up taking this path.
9 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.