[elbe-devel] Build retracing tutorial successful

ew.foe at nassur.net ew.foe at nassur.net
Tue Nov 29 11:56:25 CET 2016


Hello all,

I'm building a rootfs using elbe for a custom board similar to the
xilinx zedboard. The board features 2 ethernet interfaces, there
are patches to make this work with kernel 4.4, see [1].

In order to create a clean build, I have been following along the
tutorial [2]. Along the way I came across the niggles outlined below.

1. dependencies of "elbe debianize"
"elbe debianize" needs the python module "npyscreen" [3] as a
prerequisite. Unfortunately this is neither available in the
official debian repository nor in the linutronix elbe repository.
Using "pip install npyscreen" from behind a corporate firewall
triggered some network adventures of its own (correctly incorporate
the correct gateway certificates in the correct cmd line switch of pip
made it work ... :-) Anyway, this dependency is not documented in the
elbe-debianize man page (docs/elbe-debianize.txt).

2. minicoredumper
I did not find the source code on github/Linutronix or on the
website [4]. --- well, I found it now at [5] via google, but not at the
download section of [4]. A link in the wiki would be nice, too ...

3. linux-xlnx kernel
elbe debianize will helpfully create a valid ./debian subdirectory. I
had to adjust 2 items manually (see diff below):

- add u-boot-tools to "Build-Depends"
   I'm not sure, whether this should have been auto-detected somehow.

- change the make install target to "uinstall"
   This looks like an error to me, since I did select "uImage" in one
   of the debianize screens.


4. updating pbuilder project?
Is there a way to feed a new/changed .xml build description into an
existing pbuilder instance? $PROJECT/source.xml? Just change it?
Is there a way to feed .deb package files
into the pbuilder environment without rebuilding them? Or is there a
*simple* way to include .deb files into the build other than creating a
full featured debian style repository?
/me off to learn howto setup a repository.


Other than that I have been successful in cross-compiling this kernel,
packing it up into a .deb package and have it installed in the root
file system I'm building. I need to add only 3 more files (boot.bin,
dtb, uEnv.txt) to make the resulting image work. Very cool, indeed!

bash> uname -a
Linux kassandra 4.4-elbe #1 SMP PREEMPT Mon Nov 28 13:37:11 UTC 2016  
armv7l GNU/Linux
bash> head -1 /etc/os-release
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"


Thank you for creating and sharing elbe!

Cheers,
Erich



[1]  
https://forums.xilinx.com/t5/Embedded-Linux/Dual-Marvell-88e1512-PHY-Ethernet-problem-Xilinx-LInux/td-p/682660
[2]  
https://github.com/Linutronix/elbe/wiki/Tutorial:-rootfs-with-custom-debian-packages
[3]  
https://pypi.python.org/packages/c6/e4/c85843d2da6d78fe8f2b349560ed5285dddecbf436301ec20e5af14ffa6e/npyscreen-4.8.1.tar.gz#md5=3dd72f4b0c550a6a82648b69b26972e2
[4] https://www.linutronix.de
[5] https://linutronix.de/minicoredumper/



#+BEGIN_SRC diff
diff -Naur debian-1.versuch/changelog debian/changelog
--- debian-1.versuch/changelog  2016-11-23 15:50:31.759585270 +0100
+++ debian/changelog    2016-11-28 13:33:10.671706945 +0100
@@ -2,4 +2,4 @@

    * generated by elbe debianize

- -- Erich Waelde <ew.foe at nassur.net>  Wed, 23 Nov 2016 15:50:31 +0100
+ -- Erich Waelde <ew.foe at nassur.net>  Mon, 28 Nov 2016 13:33:10 +0100
diff -Naur debian-1.versuch/control debian/control
--- debian-1.versuch/control    2016-11-24 10:52:20.427855426 +0100
+++ debian/control      2016-11-28 13:33:09.483706966 +0100
@@ -2,7 +2,7 @@
  Section: kernel
  Priority: optional
  Maintainer: Erich Waelde <ew.foe at nassur.net>
-Build-Depends: debhelper (>= 9), bc, u-boot-tools
+Build-Depends: debhelper (>= 9), bc
  Standards-Version: 3.8.4
  Homepage: http://www.kernel.org/

diff -Naur debian-1.versuch/rules debian/rules
--- debian-1.versuch/rules      2016-11-28 13:29:19.707710987 +0100
+++ debian/rules        2016-11-28 13:33:09.491706966 +0100
@@ -27,7 +27,7 @@

  override_dh_auto_install:
         mkdir -p $(MOD_PATH) $(FW_PATH) $(HDR_PATH) $(KERNEL_PATH)  
$(DTBS_PATH)
-       make $(MAKE_OPTS) uinstall
+       make $(MAKE_OPTS) install
         make $(MAKE_OPTS) INSTALL_MOD_STRIP=1 modules_install
         make $(MAKE_OPTS) firmware_install
         make $(MAKE_OPTS) headers_install
#+END_SRC







More information about the elbe-devel mailing list