Unfortunately no one can be told what fun_plug is - you have to see it for yourself.
You are not logged in.
I'd like any help from veteran DNS-323 hackers as to how I can compile modules for the DNS-323. Specifically, I'd like to compile dm-crypt and dm-mod.
From what I understand, using Firmware 1.03, it uses kernel version 2.6.12.6-arm1.
Question 1: is it better to try and load gcc onto the DNS-323 and the source files and compile it there? or should I try to compile it on another machine and copy it over?
Question 2: if it's better to compile on the DNS-323, what would i need besides the module source? I'm guessing i'd need kernel headers and the gcc program, but i don't know how to load that on very well.
Question 3: do i have to compile using *exactly* 2.6.12.6-arm1 ? can i use a slightly different kernel version? does the "arm1" versus "686" make a difference?
Thanks
Offline
fourthirtysix wrote:
dm-crypt and dm-mod.
You need to use the D-Link kernel, vanilla kernels don't support the DNS323 (yet).
2.6.12.6 comes with a .config files. If that is the one used, dm-crypt support is compiled in (no need for modules):
# # Multi-device support (RAID and LVM) # CONFIG_MD=y CONFIG_BLK_DEV_MD=y CONFIG_MD_LINEAR=y CONFIG_MD_RAID0=y CONFIG_MD_RAID1=y # CONFIG_MD_RAID10 is not set # CONFIG_MD_RAID5 is not set # CONFIG_MD_RAID6 is not set # CONFIG_MD_MULTIPATH is not set # CONFIG_MD_FAULTY is not set CONFIG_BLK_DEV_DM=y CONFIG_DM_CRYPT=y CONFIG_DM_SNAPSHOT=y CONFIG_DM_MIRROR=y CONFIG_DM_ZERO=y # CONFIG_DM_MULTIPATH is not set
You still need the userland tools, but I guess that's doable with the D-Link toolchain.
Please let us know about your progress. Since I"m from Germany I'm currently very, very interested in using strong cryptography.
Offline
I've loaded the cross-compile environment and it seems to have worked. Next, I downloaded the necessary userspace tools, device-mapper and crypt-setup (LUKS version) 1.05
Both seem to compile, but I suspect they are not compiling for ARM. I'm not sure how to do that.
I executed the "setpath" script before compiling, used gcc 3.4 and the compilation worked, but when i copy the files to /Volume_1/lnx_bin and try to run them, I get an error about it expecting a "(" or something.
What do I need to do to make sure I am compiling for ARM instead of default 686? Could that be the problem?
Offline
I have the cross compile environment completed, and it appears to have worked. I'm going to try to focus on getting Truecrypt working for now. I need help from some more skilled linux kernel hackers, please. Here is my question:
If I download Truecrypt userspace tools and device-mapper, are there any special arguments that I need to pass when compiling them? can i just do "./configure ; make" and then copy over to /mnt/HD_a2/lnx_bin an have them work?
Thanks for any help!
Offline
fourthirtysix wrote:
"./configure ; make"
No, that's usually not enough. You need to tell configure at least that a) you intent to cross-compile, and b) what the target tools (i.e. cross-compiler, cross-assembler, -linker et al) are.
A minimal configure looks like this (but do a ./configure --help | less to see the other options):
./configure --host=arm-linux-uclibc
The target tools are usually specified in environment variables as shown here (is that in the setenv script?): http://cross-lfs.org/view/clfs-embedded … chain.html
When you need "hints" for specific packages, it's sometimes a good idea to look at what buildroot, openembedded or cross-linux-from-scratch do and if there're specific patches (to make cross-compile work, or to make a program work with uclibc).
Offline
i get this error, after sett
# source setpath
# export GCC=arm-linux-gcc
# export CC=arm-linux-gcc
# cd device-mapper.1.02.20
# ./configure --host=arm-linux-gcc
configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
checking build system type... i686-pc-linux-gnu
checking host system type... Invalid configuration `arm-linux-gcc': system `gcc' not recognized
configure: error: /bin/bash autoconf/config.sub arm-linux-gcc failed
this is so frustrating i may have to leave this for someone more talented with C, C++ linux compiling. i tried to do research on how to cross compile on the web, but everything about compiling C and C++ for linux is totally confusing ...
Offline
fourthirtysix wrote:
# ./configure --host=arm-linux-gcc
the gnu target is arm-linux-uclibc, not arm-linux-gcc (which is the compiler)
fourthirtysix wrote:
this is so frustrating
yes, can be very frustrating.
Offline
yep. just tried with ./configure --host=arm-linux-uclibc and got the same error. there is some fundamental thing i am missing here... maybe i need to edit config.sub? but i looked in that file and don't see anything obvious to change.
what i don't understand is why i can compile busybox, at, the kernel and all the things that came with uclibc but i can't compile a userspace application?
i think they must have already run the ./configure command before packaging that up.. but i still can't get the ./configure step to work after trying again
Offline
fourthirtysix, try:
./configure --host=i686-pc-linux-gnu
that should work 4u
Offline
isn't the idea to compile for ARM so that it works on the DNS323?
Am keen to get encryption working on the unit. Any help appreciated.
Offline
any news on truecrypt for dns323?
cheerio
Offline