[Gelöst] ndas freetz package (littleendian & big-endian )

RomMon

Neuer User
Mitglied seit
29 Aug 2011
Beiträge
105
Punkte für Reaktionen
0
Punkte
16
Hi

I’m looking for help to build a Freetz package which requires some uncommon steps.

First the source needs to be checked out from github. It downloads a directory structure with sources for different kernel versions.
[question: can ‘tools/freetz_download’download this? >>> yes]

After applying a number of patches, and adding two files, the first make step ‘make freetz_little’ can be performed.

Than a few other patches are needed for the final make step.
[question: is it possible to have a second set of patches applied after the first make step?]
[question: is it possible to have a second make step in the <package>.mk file?]

The manual cross-compile steps are shown here:
http://freetz.org/wiki/help/howtos/...mation/package_development_advanced/example_2

I also added the Config.in and (under construction) ndas.mk files for the freetz package.



(if you can help with the bigendian, have a look here also:
http://www.ip-phone-forum.de/showthread.php?t=149182&p=1952173&viewfull=1#post1952173 and further.)
already working in 11392 and later.
 
Zuletzt bearbeitet:
Is there a reason to start a new thread instead of staying in the mentioned thread? Also, you should link to a specific post, not to page 10, which does not even exist.


tools/freetz_download should be able to download from git, look for other makefiles that use git as a source.

It is possible to do whatever in the make files, but there is no support for multiple patch stages and different invocations of make in the Freetz macros, because that was never needed before. Also I'm not sure whether it is a good idea to do it that way. You can probably add the same effect by patching the original makefile.
 
Hi Ralf,

Thanks for your reply.
I was aiming to open this thread as a general 'non-default' Freetz package question, less specific for ndas.
For me page 10 does exist, can this due to you using a different number of replies per page? I have 20 per page. I will correct the link to the range of applicable posts.

Before looking into making a package for ndas I looked into, updated and created a number of examples on the wiki:
http://freetz.org/wiki/help/howtos/development/developer_information/package_development_start

I also looked at other examples using git (grep git make/*/*.mk | grep -v digitemp), there a just a few, and suspect they all actually just wget a packed source from freetz.magenbrot.net.
When I try to manually checkout from github using freetz_download I don't get the correct results in dl, but maybe I make a mistake in one of the parameters. Some of the commands I tried:
Code:
DEBUG=1 tools/freetz_download dl ndas4linux.git https://github.com/iocellnetworks/
tools/freetz_download dl https://github.com/iocellnetworks/
tools/freetz_download dl git://github.com/iocellnetworks/ndas4linux.git
tools/freetz_download dl ndas4linux.git https://github.com/iocellnetworks/ndas4linux.git
tools/freetz_download dl ndas4linux https://github.com/iocellnetworks/ndas4linux.git
tools/freetz_download dl ndas4linux https://github.com/iocellnetworks/
tools/freetz_download dl ndas4linux.git git://github.com/iocellnetworks/
tools/freetz_download dl ndas4linux git://github.com/iocellnetworks/
tools/freetz_download dl ndas4linux git://github.com/iocellnetworks/ndas4linux.git
tools/freetz_download dl ndas4linux.git git://github.com/iocellnetworks/ndas4linux.git
tools/freetz_download dl ndas4linux.git git://git.github.com/iocellnetworks/ndas4linux.git
tools/freetz_download dl ndas4linux git://git.github.com/iocellnetworks/ndas4linux.git



Would it be possible to have two make steps by splitting this up in two 'packages'? e.g.
- package1 (e.g. ndas4linux) to download, unpack, apply patches, make.
- And package2 (e.g. ndas) no need to download and unpack, just apply patches and the final make.

I'm afraid that changing the makefile to have just one make step goes above my head, with my current knowledge.


Some further digging into the behavior of tools/freetz_download.
I don't see 'git clone' being initiated. There is a function for this in the script.
Added some additional debug output, and git is detected.

Code:
--- tools/freetz_download.orig  2013-12-15 00:42:28.806944066 +0100
+++ tools/freetz_download       2013-12-15 00:47:07.399863886 +0100
@@ -170,7 +170,13 @@
        supportedVCSs="cvs|svn|git|git_archive|bzr|hg|darcs"
        VCS="$(echo "${URLs}" | sed -nr -e "s,^(${supportedVCSs})(@|://).*,\1,p")"
        if [ -n "${VCS}" ]; then
+               if [ "$DEBUG" == "1" ]; then
+                       echo "    VCS=$VCS"
+               fi
                URLs="$(echo "${URLs}" | sed -r -e "s,^(${supportedVCSs})@(.*),\2,")"
+               if [ "$DEBUG" == "1" ]; then
+                       echo "    URLs=$URLs"
+               fi
                num_sites=0
                CHECKSUM=""
        else
VCS does result in git:

Code:
$ DEBUG=1 tools/freetz_download dl ndas4linux git@git://github.com/iocellnetworks/ndas4linux.git
freetz_download parameters:
    DL_DIR=dl
    DOT_CONFIG=/.config
    DL_FILE=ndas4linux
    URLs=git@git://github.com/iocellnetworks/ndas4linux.git
    CHECKSUM=
    VCS=git
    URLs=git://github.com/iocellnetworks/ndas4linux.git

But still see only wget:
Code:
$ DEBUG=1 tools/freetz_download dl ndas4linux git@git://github.com/iocellnetworks/ndas4linux.git
freetz_download parameters:
    DL_DIR=dl
    DOT_CONFIG=/.config
    DL_FILE=ndas4linux
    URLs=git@git://github.com/iocellnetworks/ndas4linux.git
    CHECKSUM=
    VCS=git
    URLs=git://github.com/iocellnetworks/ndas4linux.git

wget -nd -t3 --timeout=20 --no-check-certificate --passive-ftp -O "dl/ndas4linux" "http://freetz.3dfxatwork.de/ndas4linux"
--2013-12-15 00:52:58--  http://freetz.3dfxatwork.de/ndas4linux
Resolving freetz.3dfxatwork.de... 85.214.81.232, 2a01:238:4362:b900:fc60:1b77:4435:1ba9
Connecting to freetz.3dfxatwork.de|85.214.81.232|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2013-12-15 00:52:58 ERROR 404: Not Found.

Download failed - "http://freetz.3dfxatwork.de"  ->  error code 8

wget -nd -t3 --timeout=20 --no-check-certificate --passive-ftp -O "dl/ndas4linux" "http://freetz.magenbrot.net/ndas4linux"
--2013-12-15 00:52:58--  http://freetz.magenbrot.net/ndas4linux
Resolving freetz.magenbrot.net... 85.25.156.176
Connecting to freetz.magenbrot.net|85.25.156.176|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2013-12-15 00:52:59 ERROR 403: Forbidden.

Download failed - "http://freetz.magenbrot.net"  ->  error code 8

wget -nd -t3 --timeout=20 --no-check-certificate --passive-ftp -O "dl/ndas4linux" "http://freetz.wirsind.info/ndas4linux"
--2013-12-15 00:52:59--  http://freetz.wirsind.info/ndas4linux
Resolving freetz.wirsind.info... 87.98.242.177
Connecting to freetz.wirsind.info|87.98.242.177|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2013-12-15 00:52:59 ERROR 404: Not Found.

Download failed - "http://freetz.wirsind.info"  ->  error code 8

Failed to detect compression method from ndas4linux
$



Edit 15-12-13 22:19:
With help of Ralf found a working command for a checkout from github using tools/freetz_download:
Code:
freetz@freetz-linux:~/freetz-trunk$ DEBUG=1 tools/freetz_download dl ndas4linux-1aaf88acd0bcc3a7aca1e7ad52b583f57d26ecad.tar.xz git@git://github.com/iocellnetworks/ndas4linux.git/
freetz_download parameters:
    DL_DIR=dl
    DOT_CONFIG=/.config
    DL_FILE=ndas4linux-1aaf88acd0bcc3a7aca1e7ad52b583f57d26ecad.tar.xz
    URLs=git@git://github.com/iocellnetworks/ndas4linux.git/
    CHECKSUM=
    VCS=git
    URLs=git://github.com/iocellnetworks/ndas4linux.git/

wget -nd -t3 --timeout=20 --no-check-certificate --passive-ftp -O "dl/ndas4linux-1aaf88acd0bcc3a7aca1e7ad52b583f57d26ecad.tar.xz" "http://freetz.wirsind.info/ndas4linux-1aaf88acd0bcc3a7aca1e7ad52b583f57d26ecad.tar.xz"
--2013-12-15 22:06:43--  http://freetz.wirsind.info/ndas4linux-1aaf88acd0bcc3a7aca1e7ad52b583f57d26ecad.tar.xz
Resolving freetz.wirsind.info... 87.98.242.177
Connecting to freetz.wirsind.info|87.98.242.177|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2013-12-15 22:06:43 ERROR 404: Not Found.

Download failed - "http://freetz.wirsind.info"  ->  error code 8

wget -nd -t3 --timeout=20 --no-check-certificate --passive-ftp -O "dl/ndas4linux-1aaf88acd0bcc3a7aca1e7ad52b583f57d26ecad.tar.xz" "http://freetz.magenbrot.net/ndas4linux-1aaf88acd0bcc3a7aca1e7ad52b583f57d26ecad.tar.xz"
--2013-12-15 22:06:43--  http://freetz.magenbrot.net/ndas4linux-1aaf88acd0bcc3a7aca1e7ad52b583f57d26ecad.tar.xz
Resolving freetz.magenbrot.net... 85.25.156.176
Connecting to freetz.magenbrot.net|85.25.156.176|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2013-12-15 22:06:43 ERROR 403: Forbidden.

Download failed - "http://freetz.magenbrot.net"  ->  error code 8

wget -nd -t3 --timeout=20 --no-check-certificate --passive-ftp -O "dl/ndas4linux-1aaf88acd0bcc3a7aca1e7ad52b583f57d26ecad.tar.xz" "http://freetz.3dfxatwork.de/ndas4linux-1aaf88acd0bcc3a7aca1e7ad52b583f57d26ecad.tar.xz"
--2013-12-15 22:06:43--  http://freetz.3dfxatwork.de/ndas4linux-1aaf88acd0bcc3a7aca1e7ad52b583f57d26ecad.tar.xz
Resolving freetz.3dfxatwork.de... 85.214.81.232, 2a01:238:4362:b900:fc60:1b77:4435:1ba9
Connecting to freetz.3dfxatwork.de|85.214.81.232|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2013-12-15 22:06:43 ERROR 404: Not Found.

Download failed - "http://freetz.3dfxatwork.de"  ->  error code 8

Checking out files from the git repository...
Initialized empty Git repository in /tmp/freetz75I/ndas4linux-1aaf88acd0bcc3a7aca1e7ad52b583f57d26ecad/.git/
remote: Counting objects: 2625, done.
remote: Compressing objects: 100% (1286/1286), done.
remote: Total 2625 (delta 1288), reused 2588 (delta 1251)
Receiving objects: 100% (2625/2625), 38.48 MiB | 1.13 MiB/s, done.
Resolving deltas: 100% (1288/1288), done.
Note: checking out '1aaf88acd0bcc3a7aca1e7ad52b583f57d26ecad'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 1aaf88a... Removed 64Bit deb files from the top folder
Packing checkout...
freetz@freetz-linux:~/freetz-trunk$
 
Zuletzt bearbeitet:
I also looked at other examples using git (grep git make/*/*.mk | grep -v digitemp), there a just a few, and suspect they all actually just wget a packed source from freetz.magenbrot.net.
When I try to manually checkout from github using freetz_download I don't get the correct results in dl, but maybe I make a mistake in one of the parameters. Some of the commands I tried:
Try
Code:
grep SITE.*git.*: make/*/*.mk
tools/freetz_download dl ndas4linux-1aaf88acd0bcc3a7aca1e7ad52b583f57d26ecad.tar.xz git@https://github.com/iocellnetworks/ndas4linux.git/
You must specify the version to get, in this case 1aaf.., not necessarily the full version, so that git knows which version to checkout. Something like HEAD may also work, but you wouldn't know what you will get at the time it is run, and it would not be updated unless you manually delete dl/*HEAD*.
Would it be possible to have two make steps by splitting this up in two 'packages'? e.g.
- package1 (e.g. ndas4linux) to download, unpack, apply patches, make.
- And package2 (e.g. ndas) no need to download and unpack, just apply patches and the final make.
I think so, but it doesn't make sense,
I'm afraid that changing the makefile to have just one make step goes above my head, with my current knowledge.

Just add the necessary commands to the section of the makefile where the actual files are created. You can have
Code:
make target-1
patch whatever
make target-2
You just have to do the patching yourself and can't use the automatic patching just by having patch files in the right place.
 
@RomMom: please take a look at r11390. This is how it should be done. The approach you've documented here is not really good, if not to say really bad. Could you please remove this page to avoid any confusion? Thanks!

Please don't be demotivated by my post, you did/do a good job, you just don't have that much experience with freetz build system as necessary.

I plan to add support for kernel-2.6.28, could you please test it?
 
@ER13,

Great thanks a lot.
I will try it out on the 7270v3 and 7390 in the coming day's.

The wiki page was more a placeholder, for you to able to help out.

Thanks again both you and Ralf!
 
Hi er12,

Tried to build for the 7270v3 using the trunk revision 11390 and also 11423, and get the following error for both:

Code:
Assembler messages:
Error: trap exception not supported at ISA 1
Assembler messages:
Error: trap exception not supported at ISA 1
make[1]: *** [build_freetz/netdisk/crc.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [build_freetz/netdisk/conn.o] Error 1
make[1]: Leaving directory `/home/freetz/freetz-trunk-11423/source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/ndas-1aaf88acd0/2.6.32'

ERROR: Build failed.
make: *** [source/target-mipsel_gcc-4.6.4_uClibc-0.9.32.1/ndas-1aaf88acd0/.exported] Error 1
freetz@freetz-linux:~/freetz-trunk-11423$
 

Anhänge

  • revision 11390 error 7270v3.txt
    14.7 KB · Aufrufe: 1
  • revision 11423 error 7270v3.txt
    14.8 KB · Aufrufe: 1
Zuletzt bearbeitet:
@RomMon: should be fixed in r11433
 
@er13,

Thanks a lot. looking forward to try this out.

Currently I'm struggling with a "Lua Run Runtime ERROR" using the web-interface of my 7270v3 for every newer trunk revision, which I have to get rid of first.
 
Hi ER13,

NDAS is working fine on my 7270v3 now. Thanks a lot!!!
I was able to successfully mount a partition.

The jump from freetz-1.2 to the latest trunk did introduce a number of speed-bumps I still have to tackle.
Also a 15 minute Internet downtime seems a disaster for this household...
 
NDAS is working fine on my 7270v3 now. Thanks a lot!!!

Hi RomMon,

you're welcome! What about 7390 ( big-endian / kernel-2.6.28 ) ? Have you had a chance to test it? Would appreciate your feedback on it.

Best,
Gene
 
Hi Gene,

Your the best!
Yes also working on my 7390 (used trunk version 11450, which is still 84.05.51).

Merry Christmas!
 
Yes also working on my 7390.
Hi RomMon,

thank you very much for testing. As far as I know none of the developers has the corresponding hardware, so we badly depend on users providing the feedback.

Best,
Gene
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.