elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 21:38  


Tema destacado: Suscripción al boletín mensual de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Littlehorse)
| | |-+  Compilar kernel
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Compilar kernel  (Leído 790 veces)
GeorgArming

Desconectado Desconectado

Mensajes: 236


Ver Perfil
Compilar kernel
« en: 5 Diciembre 2011, 23:03 »

Siguiendo la recomendación de un usuario, me interesé por el kernel Luxur que hizo un usuario de por aquí. El problema es que no lo sé compilar. He seguido sus instrucciones pero no lo entiendo. Usé el scons, como él dice, y me da el siguiente error:

Error: invalid instruction suffix for `push'

DIcho error se produce en el boot.s.. Entonces he probado, para ver qué pasaba, a quitar los push. Y ha funcionado (pero a saber cómo funciona cuando se ejecute porque he quitado 2 líneas de código). la cuestión es que con el scons obtengo un .exe, y ahora no sé cómo pasarlo a ISO.

Resumiendo:

-A qué se debe el error "Error: invalid instruction suffix for `push'"?
-Hay algún comando scons para obtener ISO y no un archivo ejecutable?


En línea

Quieres colaborar con un proyecto innovador? Si sabes C/C++, lenguajes web o entiendes de Linux y Debian, ponte en contacto conmigo a través del foro o por gmail: georgarming@gmail.com
GeorgArming

Desconectado Desconectado

Mensajes: 236


Ver Perfil
Re: Compilar kernel
« Respuesta #1 en: 5 Diciembre 2011, 23:09 »

equ MULTIBOOT_HEADER_MAGIC,     0x1BADB002
.equ MULTIBOOT_HEADER_FLAGS,     0x00010003



.section .text
.globl _start,Inicio_nucleo
.extern nucleo_stack, code, bss, end, init, gdtr

_start:
   jmp Inicio_nucleo

.align 4

mboot:
   
        .long   MULTIBOOT_HEADER_MAGIC
        .long   MULTIBOOT_HEADER_FLAGS
        .long   -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)
   .long mboot
   .long code
   .long bss
   .long end
   .long Inicio_nucleo

Inicio_nucleo:
   movl $nucleo_stack, %esp
   pushl %ebx 
   pushl %eax
   #call install_gdt
   call main
   hlt      



gdt_ptr:
   .word 5*8-1      
   .long _gdt
_gdt:
   .quad 0x0000000000000000
   .quad 0x00cf9a000000ffff
   .quad 0x00cf92000000ffff
   .quad 0x00cffa000000ffff
   .quad 0x00cff2000000ffff


En línea

Quieres colaborar con un proyecto innovador? Si sabes C/C++, lenguajes web o entiendes de Linux y Debian, ponte en contacto conmigo a través del foro o por gmail: georgarming@gmail.com
GeorgArming

Desconectado Desconectado

Mensajes: 236


Ver Perfil
Re: Compilar kernel
« Respuesta #2 en: 5 Diciembre 2011, 23:20 »

bueno, da igual, olvidaros de todo lo que he dicho porque me he explicado realmente mal. vuelvo a empezar.

compilo un kernel con un makefile, pero resulta que da error "invalid instruction suffix for `push'", esto pasa en el boot.s. busco por internet y resulta que esto es porque se está ensamblando/compilando en 64 bits, y se tiene que cambiar a 32. en el makefile, prueba a cambiar donde dice as por as --32, y me dice "ld: i386 architecture of input file `boot/boot.o' is incompatible with i386:x86-64 output". ¿qué tengo que hacer?
En línea

Quieres colaborar con un proyecto innovador? Si sabes C/C++, lenguajes web o entiendes de Linux y Debian, ponte en contacto conmigo a través del foro o por gmail: georgarming@gmail.com
GeorgArming

Desconectado Desconectado

Mensajes: 236


Ver Perfil
Re: Compilar kernel
« Respuesta #3 en: 6 Diciembre 2011, 00:05 »

según lo que he leído, debería instalar el paquete glibc-devel.i686, pero dicho paquete no existe, y la variante i386 tampoco
En línea

Quieres colaborar con un proyecto innovador? Si sabes C/C++, lenguajes web o entiendes de Linux y Debian, ponte en contacto conmigo a través del foro o por gmail: georgarming@gmail.com
prometheus48

Desconectado Desconectado

Mensajes: 170


Making a Distro...


Ver Perfil
Re: Compilar kernel
« Respuesta #4 en: 11 Diciembre 2011, 20:55 »

Podrias correr una maquina virtual de 32 bits con VirtualBox o VmWare, y compilar desde alli.
Suerte.
Salu2!
En línea

"Si tú tienes una manzana, y yo otra, y las intercambiamos, tu sigues teniendo una manzana, y yo sigo teniendo una manzana.
Pero, si tu tienes una idea, y yo otra, y nos las intercambiamos, tu tienes dos ideas, y yo tengo dos ideas"
The knowledge is free
GeorgArming

Desconectado Desconectado

Mensajes: 236


Ver Perfil
Re: Compilar kernel
« Respuesta #5 en: 20 Diciembre 2011, 22:16 »

Podrias correr una maquina virtual de 32 bits con VirtualBox o VmWare, y compilar desde alli.
Suerte.
Salu2!

HOSTIAS! Menudo genio estás hecho! Pero ahora ya he formateado  :-[. De todas formas, muy buena idea. Cuando quiera compilar en 64 bits, instalaré Ubuntu 64 bits en virtualbox.
En línea

Quieres colaborar con un proyecto innovador? Si sabes C/C++, lenguajes web o entiendes de Linux y Debian, ponte en contacto conmigo a través del foro o por gmail: georgarming@gmail.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema al compilar kernel
GNU/Linux
ScipioMXL 2 332 Último mensaje 16 Agosto 2003, 10:42
por ScipioMXL
compilar kernel
GNU/Linux
okahei 9 782 Último mensaje 19 Septiembre 2003, 05:33
por ..sR. aDiKtO..
Compilar kernel o no
GNU/Linux
gilan 6 511 Último mensaje 1 Abril 2005, 21:56
por ..SnIgCiO..
Ubuntu compilar kernel
GNU/Linux
jonnight 2 548 Último mensaje 19 Marzo 2006, 13:45
por fefos
Compilar el Kernel
GNU/Linux
Punisher.linux 9 765 Último mensaje 8 Octubre 2007, 04:26
por ^Tifa^
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines