Problemi con compilazione kernel linux

Compilazione del kernel, gestione moduli, servizi attivi, e tutti gli interventi per l'ottimizzazione del sistema operativo.

Problemi con compilazione kernel linux

Messaggioda System_Halted » martedì 13 settembre 2016, 9:59

:D

Da poco mi sono procurato una copia del kernel linux (da cui penso poi, molto lentamente, di sviluppare un piccolo, e semplice, OS) non compilato.

Quando provo a compilarlo con un Makefile mi restituisce l'errore:
Codice: Seleziona tutto
$ make
gas -c -o boot/head.o boot/head.s
make: gas: No such file or directory
make: *** [boot/head.o] Error 1
$


Come posso risolvere il problema?

Se può servire posto una copia del Makefile:
Codice: Seleziona tutto
#
# Makefile for linux.
# If you don't have '-mstring-insns' in your gcc (and nobody but me has :-)
# remove them from the CFLAGS defines.
#

AS86   =as -0 -a
CC86   =cc -0
LD86   =ld -0

AS   =gas
LD   =gld
LDFLAGS   =-s -x -M
CC   =gcc
CFLAGS   =-Wall -O -fstrength-reduce -fomit-frame-pointer -fcombine-regs
CPP   =gcc -E -nostdinc -Iinclude

ARCHIVES=kernel/kernel.o mm/mm.o fs/fs.o
LIBS   =lib/lib.a

.c.s:
   $(CC) $(CFLAGS) \
   -nostdinc -Iinclude -S -o $*.s $<
.s.o:
   $(AS) -c -o $*.o $<
.c.o:
   $(CC) $(CFLAGS) \
   -nostdinc -Iinclude -c -o $*.o $<

all:   Image

Image: boot/boot tools/system tools/build
   tools/build boot/boot tools/system > Image
   sync

tools/build: tools/build.c
   $(CC) $(CFLAGS) \
   -o tools/build tools/build.c
   chmem +65000 tools/build

boot/head.o: boot/head.s

tools/system:   boot/head.o init/main.o \
      $(ARCHIVES) $(LIBS)
   $(LD) $(LDFLAGS) boot/head.o init/main.o \
   $(ARCHIVES) \
   $(LIBS) \
   -o tools/system > System.map

kernel/kernel.o:
   (cd kernel; make)

mm/mm.o:
   (cd mm; make)

fs/fs.o:
   (cd fs; make)

lib/lib.a:
   (cd lib; make)

boot/boot:   boot/boot.s tools/system
   (echo -n "SYSSIZE = (";ls -l tools/system | grep system \
      | cut -c25-31 | tr '\012' ' '; echo "+ 15 ) / 16") > tmp.s
   cat boot/boot.s >> tmp.s
   $(AS86) -o boot/boot.o tmp.s
   rm -f tmp.s
   $(LD86) -s -o boot/boot boot/boot.o

clean:
   rm -f Image System.map tmp_make boot/boot core
   rm -f init/*.o boot/*.o tools/system tools/build
   (cd mm;make clean)
   (cd fs;make clean)
   (cd kernel;make clean)
   (cd lib;make clean)

backup: clean
   (cd .. ; tar cf - linux | compress16 - > backup.Z)
   sync

dep:
   sed '/\#\#\# Dependencies/q' < Makefile > tmp_make
   (for i in init/*.c;do echo -n "init/";$(CPP) -M $$i;done) >> tmp_make
   cp tmp_make Makefile
   (cd fs; make dep)
   (cd kernel; make dep)
   (cd mm; make dep)

### Dependencies:
init/main.o : init/main.c include/unistd.h include/sys/stat.h \
  include/sys/types.h include/sys/times.h include/sys/utsname.h \
  include/utime.h include/time.h include/linux/tty.h include/termios.h \
  include/linux/sched.h include/linux/head.h include/linux/fs.h \
  include/linux/mm.h include/asm/system.h include/asm/io.h include/stddef.h \
  include/stdarg.h include/fcntl.h


Questo e il Makefile della directory di base,
Naturalmente ce ne sono altri nelle diverse sottocartelle ma in tutte viene restituito un qualche errore come nella cartella 'fs':

Codice: Seleziona tutto
gcc -Wall -O -fstrength-reduce -fcombine-regs -fomit-frame-pointer -mstring-insns -nostdinc -I../include \
   -c -o open.o open.c
clang: error: unknown argument: '-fcombine-regs'
clang: error: unknown argument: '-mstring-insns'
clang: warning: optimization flag '-fstrength-reduce' is not supported
make: *** [open.o] Error 1



e 'kernel':
Codice: Seleziona tutto
gcc -Wall -O -fstrength-reduce -fomit-frame-pointer -fcombine-regs -finline-functions -mstring-insns -nostdinc -I../include \
   -c -o sched.o sched.c
clang: error: unknown argument: '-fcombine-regs'
clang: error: unknown argument: '-mstring-insns'
clang: warning: optimization flag '-fstrength-reduce' is not supported
clang: warning: optimization flag '-finline-functions' is not supported
make: *** [sched.o] Error 1


:ciao:
Ultima modifica di System_Halted il martedì 13 settembre 2016, 12:20, modificato 2 volte in totale.
System_Halted
Prode Principiante
 
Messaggi: 42
Iscrizione: giugno 2016
Sesso: Maschile

Re: Problemi con compilazione kernel linux

Messaggioda Zoff » martedì 13 settembre 2016, 10:18

Sposto in "Kernel e servizi di sistema"
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: viewtopic.php?f=70&t=597066
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
 
Messaggi: 33304
Iscrizione: ottobre 2007

Re: Problemi con compilazione kernel linux

Messaggioda System_Halted » martedì 13 settembre 2016, 10:32

Zoff Immagine ha scritto:Sposto in "Kernel e servizi di sistema"


ok :sisi:
System_Halted
Prode Principiante
 
Messaggi: 42
Iscrizione: giugno 2016
Sesso: Maschile

Re: Problemi con compilazione kernel linux

Messaggioda System_Halted » martedì 13 settembre 2016, 11:13

preciso che cerco di compilare la prima versione del kernel cioè 0.01
System_Halted
Prode Principiante
 
Messaggi: 42
Iscrizione: giugno 2016
Sesso: Maschile

Re: Problemi con compilazione kernel linux

Messaggioda Janvitus » martedì 13 settembre 2016, 13:42

gas è praticamente introvabile sulle distro moderne...
Avatar utente
Janvitus
Amministratore
Amministratore
 
Messaggi: 17005
Iscrizione: aprile 2005
Località: Potenza
Desktop: GNOME Shell 3.22
Distribuzione: Fedora/Ubuntu
Sesso: Maschile

Re: Problemi con compilazione kernel linux

Messaggioda System_Halted » martedì 13 settembre 2016, 14:27

Janvitus Immagine ha scritto:gas è praticamente introvabile sulle distro moderne...


Quindi come potrei provare a risolvere?
System_Halted
Prode Principiante
 
Messaggi: 42
Iscrizione: giugno 2016
Sesso: Maschile

Re: Problemi con compilazione kernel linux

Messaggioda Janvitus » mercoledì 14 settembre 2016, 19:23

C'era un metodo, ma ora non lo ricordo... Dovresti trovarlo cercando compilare + kernel linux 0.01, o una cosa del genere.
Avatar utente
Janvitus
Amministratore
Amministratore
 
Messaggi: 17005
Iscrizione: aprile 2005
Località: Potenza
Desktop: GNOME Shell 3.22
Distribuzione: Fedora/Ubuntu
Sesso: Maschile


Torna a Kernel e servizi di sistema

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 1 ospite