Buenas,
Llevo unos días trabajando sobre un proyecto y ando muy atascado
![uf [agggtt]](/images/smilies/nuevos2/infeliz.gif)
,a ver si alguno me puede guiar un pokillo .
Motivación.
Me han mandado intentar buscar la forma de recompilar el kernel de linux así como los drivers ke ando desarrollando para una arquitectura ARM en windows
![Oooooo [Ooooo]](/images/smilies/nuevos/sorprendido_ani1.gif)
, motivos.. para poder conectarme al cacharro sólo se puede realizar mediante
un "port" de
cygwin.
Este port ya tiene el toolchain instalado: arm-elf-gcc y esas cosas, PERO, se supone
http://www.cygwin.com/faq/faq.txt que no esta enlazado con la glibc que usaré en el kernel (2.2.5)
Planteamiento.
Instalo las fuentes para arm de la glibc y las fuentes del kernel..
Aplico varios parches ke parece ke se necesitan: el de arm, y algunos otros
recomendados por los usuarios de la gp32 (bueno, y por más gente por el google).
y luego, pues nada, a instalar:
#!/bin/sh
chmod -R u+w .
export BUILD_CC=gcc
export CC=arm-elf-gcc
export AR=arm-elf-ar
export NM=arm-elf-nm
export RANLIB=arm-elf-ranlib
./configure --prefix=/usr --build=i686-pc-cygwin<-probé unas cuantas --exec-prefix=/ arm-linux --enable-add-ons --enable-debug --enable-profile --disable-nls --with-headers=/usr/local/bin/linux/include <--Fuentes kernel &&
make cross-compiling=yes &&
make install &&
vi /usr/local/arm/arm-linux/lib/libc.so &&
touch .
El caso es que me escupe el muy mamón:
../sysdeps/unix/sysv/linux/arm/sysdep.S: Assembler messages:
../sysdeps/unix/sysv/linux/arm/sysdep.S:24: Warning: .type pseudo-op used outside of .def/.endef ignored.
../sysdeps/unix/sysv/linux/arm/sysdep.S:24: Warning: rest of line ignored; first ignored character is `e'
../sysdeps/unix/sysv/linux/arm/sysdep.S:25: Warning: .size pseudo-op used outside of .def/.endef ignored.
../sysdeps/unix/sysv/linux/arm/sysdep.S:25: Warning: rest of line ignored; first ignored character is `e'
../sysdeps/unix/sysv/linux/arm/sysdep.S:37: Warning: .type pseudo-op used outside of .def/.endef ignored.
../sysdeps/unix/sysv/linux/arm/sysdep.S:37: Warning: rest of line ignored; first ignored character is `_'
../sysdeps/unix/sysv/linux/arm/sysdep.S:38: Error: no such instruction: `rsb r0,r0,$0'
../sysdeps/unix/arm/sysdep.S:41: Error: no such instruction: `ldr r1,_errno_loc'
../sysdeps/unix/arm/sysdep.S:42: Error: invalid char '[' beginning operand 2 `[r1]'
../sysdeps/unix/arm/sysdep.S:44: Error: no such instruction: `stmdb sp!,{r0,lr}'
../sysdeps/unix/arm/sysdep.S:46: Error: no such instruction: `bl __errno_location'
../sysdeps/unix/arm/sysdep.S:47: Error: no such instruction: `ldmia sp!,{r1,lr}'
../sysdeps/unix/arm/sysdep.S:48: Error: invalid char '[' beginning operand 2 `[r0]'
../sysdeps/unix/arm/sysdep.S:71: Error: no such instruction: `mvn r0,$0'
../sysdeps/unix/arm/sysdep.S:72: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
../sysdeps/unix/arm/sysdep.S:79: Warning: .size pseudo-op used outside of .def/.endef ignored.
../sysdeps/unix/arm/sysdep.S:79: Warning: rest of line ignored; first ignored character is `_'
make[1]: *** [sysdep.o] Error 1
make: *** [csu/subdir_lib] Error 2
Por supuesto, ya me leí los documentos
de los ke saben un
montón sobre el tema.
Salu22222
Pd: en la faq de cygwin se dice ke es dificil portar la glibc a cygwin, pero sin embargo hay mucha gente por internete ke dice haberlo conseguido :-S