[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