Köra endast linuxkärnan + GNU program

Varning! Det som diskuteras här är inte alltid enkelt och det kan hända att vissa installationer/modifieringar kan göra ditt system oanvändbart. Inget för nybörjare. Gör alltid backup av känslig data innan du experimenterar.
Kategoriregler
Varning! Det som diskuteras här är inte alltid enkelt och det kan hända att vissa installationer/modifieringar kan göra ditt system oanvändbart. Inget för nybörjare. Gör alltid backup av känslig data innan du experimenterar.
Heretic
Inlägg: 170
Blev medlem: 08 mar 2007, 00:25

Köra endast linuxkärnan + GNU program

Inlägg av Heretic »

Jag har ett litet projekt. Jag tänker kompelimera en egen linuxkärna och ha programmen wget,vim,python,apache,gcc,irssi,bzip2,GRUB, lynx

Wget är för att kunna ladda ner en linuxkärna för att uppdatera.
VIM är för att kunna läsa text.
Python är för att kunna köra mina scripts.
Apache är för att kunna hosta upp en hemsida i HTML. MySQL behövs inte.
Irssi är för att kunna ha IRC - mest bara för det socialas skull.
bZip2 är för att kunna packa upp tarballs.
GRUB är för att boota linuxkärnan.
Lynx är för att kunna leta reda på en linuxkärna, om jag vill uppdatera den.

Och allt ska jag ha på ett USB minne. Men då kanske ni tänker att "nää, det går, men det kommer krasha". Men jag tänker inte skriva till minnet. Jag tänker bara läsa ifrån det.

Vi säger att jag har allt på ett USB minne. Det ska vara som en live-cd. Jag tänker inte installera själva oprativsystemet på USB, utan jag tänker bara ha filsystem ext3 på den, eller ext4. Jag stoppar in USB-stickan i USBenheten. Startar datorn från USB och sen installerar alla dessa program jag vill ha på usb minnet. Bara en gång räcker det.
Men alla rörlig data som kommer skrivas till USB-stickan ska lagras på RAM-minnet. Det kommer bara vara filer med lite text i. Filerna kommer bara vara några kb stort. Den disten ska vara så simpel som möjligt och jag kräver endast att den är snabb,stabil och all rörlig data lagras i RAM-minnet. Fast data som program + kärnan ska vara på USB-minnet och där ska den bara läsas. Visst om jag stänger av eller startar om datorn så tappar jag allt, därför tänker jag ha en mapp i USB minnet som en backup som sedan kopieras över till RAM-minnet, och då rullar allt på igen O0


Hårdvara:
* CDrom
* Floppy
* USB 1.0 2x
* 160 MB RAM
* 200 Mhz MMX
* Nätverkskort

Då är min frågeställning:
1. Det finns många manualer hur man kompelimerar program. Men just att kompelimera en linuxkärna och göra så GRUB bootar upp den, vet jag inte hur man gör. Det finns manualer hur man kompelimerar en ny linuxkärna, men inte hur man kompelimerar en linuxkärna och sedan gör den till en isofil som är bootbar.

2. Behöver jag swap? Hört att swap i USB är inget att rekommendera för jag ska inte skriva till USB, bara läsa. Kan jag ha en liten del av RAM-minnet som swap?

3. Hur lagrar man all rörlig data i RAM-minnet?

MvH
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Köra endast linuxkärnan + GNU program

Inlägg av Konservburk »

Heretic skrev:Jag har ett litet projekt. Jag tänker kompelimera en egen linuxkärna och ha programmen wget,vim,python,apache,gcc,irssi,bzip2,GRUB, lynx
Jag gillar projekt i den här stilen. :)
Heretic skrev:Wget är för att kunna ladda ner en linuxkärna för att uppdatera.
VIM är för att kunna läsa text.
Python är för att kunna köra mina scripts.
Apache är för att kunna hosta upp en hemsida i HTML. MySQL behövs inte.
Irssi är för att kunna ha IRC - mest bara för det socialas skull.
bZip2 är för att kunna packa upp tarballs.
GRUB är för att boota linuxkärnan.
Lynx är för att kunna leta reda på en linuxkärna, om jag vill uppdatera den.
Här skulle jag även vilja tipsa dig om busybox som är en utomordetlig samling av nerbantade grundläggande verktyg.
Heretic skrev:Och allt ska jag ha på ett USB minne. Men då kanske ni tänker att "nää, det går, men det kommer krasha". Men jag tänker inte skriva till minnet. Jag tänker bara läsa ifrån det.

Vi säger att jag har allt på ett USB minne. Det ska vara som en live-cd. Jag tänker inte installera själva oprativsystemet på USB, utan jag tänker bara ha filsystem ext3 på den, eller ext4. Jag stoppar in USB-stickan i USBenheten. Startar datorn från USB och sen installerar alla dessa program jag vill ha på usb minnet. Bara en gång räcker det.
Men alla rörlig data som kommer skrivas till USB-stickan ska lagras på RAM-minnet. Det kommer bara vara filer med lite text i. Filerna kommer bara vara några kb stort. Den disten ska vara så simpel som möjligt och jag kräver endast att den är snabb,stabil och all rörlig data lagras i RAM-minnet. Fast data som program + kärnan ska vara på USB-minnet och där ska den bara läsas. Visst om jag stänger av eller startar om datorn så tappar jag allt, därför tänker jag ha en mapp i USB minnet som en backup som sedan kopieras över till RAM-minnet, och då rullar allt på igen O0
Det låter som att initramfs kan vara något för dig.
Heretic skrev:Hårdvara:
* CDrom
* Floppy
* USB 1.0 2x
* 160 MB RAM
* 200 Mhz MMX
* Nätverkskort

Då är min frågeställning:
1. Det finns många manualer hur man kompelimerar program. Men just att kompelimera en linuxkärna och göra så GRUB bootar upp den, vet jag inte hur man gör. Det finns manualer hur man kompelimerar en ny linuxkärna, men inte hur man kompelimerar en linuxkärna och sedan gör den till en isofil som är bootbar.
Det går i korthet ut på att du först laddar ner och packar upp kärnans källkod. Sedan går du in i källkodskatalogen där du ställer in mer i detalj vad som ska kompileras. Jag brukar använda kommandot make menuconfig till detta. Att göra dessa inställningar är nog den svåraste biten eftersom det kräver att du har åtminstone grundläggande koll på vilken hårdvara du har. Därefter kör du helt enkelt kommandot make för att bygga kärnan. Slutligen kopierar du den nya kärnavbilden till lämplig plats (någonstans på USB-minnet i ditt fall) och ändrar så att boot-loadern (t.ex. GRUB) läser in den nya kärnan nästa gång du bootar.
Heretic skrev:2. Behöver jag swap? Hört att swap i USB är inget att rekommendera för jag ska inte skriva till USB, bara läsa. Kan jag ha en liten del av RAM-minnet som swap?
Tanken med swap är att det ska vara en utökning av RAM-minnet. Att lägga swap i RAM-minnet är därför inte någon bra idé. Jag skulle nog skippa swap helt i ditt fall.
Heretic skrev:3. Hur lagrar man all rörlig data i RAM-minnet?
Det finns flera olika sätt. Mitt förslag är initramfs, vilket innebär att du lägger rootfilsystemet helt i RAM-minnet.
Heretic
Inlägg: 170
Blev medlem: 08 mar 2007, 00:25

Re: Köra endast linuxkärnan + GNU program

Inlägg av Heretic »

Okej. Jag ska använda busyBox, fast vissa program som python och Irssi måste jag ladda ner. Men bra tips var det.

När jag kompelimerar, måste jag göra det i linux då?

Ok, då skippar jag swap. Och jag ska använda initramfs.

Men vilket filsystem ska jag ha på USB minnet?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Köra endast linuxkärnan + GNU program

Inlägg av Konservburk »

Heretic skrev:Okej. Jag ska använda busyBox, fast vissa program som python och Irssi måste jag ladda ner. Men bra tips var det.
Det som busybox helt eller delvis saknar får du förstås köra separat. Du kanske behöver en mer avancerad webbserver än den som ingår i busybox och du kanske inte nöjer dig med en nerbantad vi utan vill ha hela vim istället.
Heretic skrev:När jag kompelimerar, måste jag göra det i linux då?
Inte nödvändigtvis, men det blir lättare eftersom du slipper bry dig om hur korskompilering går till.
Heretic skrev:Men vilket filsystem ska jag ha på USB minnet?
Det beror på vad du är ute efter. Det viktigaste är att boot-loadern kommer åt kärnavbilden. Du är med andra ord begränsad av den boot-loader du väljer. Vill du även kunna använda USB-minnet i windows så kan vanlig FAT vara lämpligt.
Heretic
Inlägg: 170
Blev medlem: 08 mar 2007, 00:25

Re: Köra endast linuxkärnan + GNU program

Inlägg av Heretic »

Okej, nu har jag konfiugera kärnan (använde mitt linux förra config i /boot katalogen) och komplimerat den med make. Det var rätt så mycket tryckande N och Y, men jag tog Y när det stog t.ex. (Y/n/?) eller N när det stog (N/y/?). Alltså storbokstav.

http://www.cyberciti.biz/tips/compiling ... el-26.html

Ska jag fortsätta till

Kod: Markera allt

make modules

och sluta vid

Kod: Markera allt

$ su -
# make modules_install
?

Sen då?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Köra endast linuxkärnan + GNU program

Inlägg av Konservburk »

Behöver du moduler? Själv skulle jag skippat den biten och istället kompilerat in de nödvändiga drivrutinerna direkt i kärnan.

Efter kompileringen hamna den nya kärnavbilden under källkodsträdet:
arch/x86/boot/bzImage
Heretic
Inlägg: 170
Blev medlem: 08 mar 2007, 00:25

Re: Köra endast linuxkärnan + GNU program

Inlägg av Heretic »

Nope behöver inga moduler :)
Så då är den klar.

Hittar inte arch/x86/boot/bzImage ???
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Köra endast linuxkärnan + GNU program

Inlägg av Konservburk »

Testa om make bzImage ger något. Kolla även med find -name bzImage och se om den hamnat någon annan stans.
Heretic
Inlägg: 170
Blev medlem: 08 mar 2007, 00:25

Re: Köra endast linuxkärnan + GNU program

Inlägg av Heretic »

kör make bzImage nu. bzImage fanns inte. Men när bzImage är klar. Ska jag bara kopiera över den på USB minnet? BusyBox då?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Köra endast linuxkärnan + GNU program

Inlägg av Konservburk »

Det viktiga är att du lägger kärnavbilden någonstans där boot-loadern kommer åt den.

När det gäller busybox så ska den läggas i din initramfs tillsammans med övriga program du vill kunna använda. Ett hett tips är att testa med chroot först så att du vet att allting fungerar som det ska. Först därefter gör du en avbild, antingen separat eller inbyggd i kärnavbilden.
Heretic
Inlägg: 170
Blev medlem: 08 mar 2007, 00:25

Re: Köra endast linuxkärnan + GNU program

Inlägg av Heretic »

Okej, nu är bzimage klar :) Hur införskaffar man boot loadern? Ska jag ladda ner GRUB från GNU?
Hur ska jag få tag på initramfs ?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Köra endast linuxkärnan + GNU program

Inlägg av Konservburk »

Du kan ta vilken boot-loader du vill, och du kan hämta den var du vill. Själv tycker jag det är smidigt med atp-get install, men det spelar egentligen ingen roll. Det viktiga är att du installerar boot-loaderns boot-kod på USB-minnet.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Köra endast linuxkärnan + GNU program

Inlägg av Konservburk »

När det gäller din initramfs så skapar du den själv. Utgå från en vanlig katalogstruktur med allt som är nödvändigt för att den ska fungera som root-filsystem åt din kärna (vilket egentligen inte är speciellt mycket). Det borde räcka med bin/busybox till att börja med, och eventuellt några småsaker i dev också. Testa som sagt med chroot så att du ser att det hela fungerar.
Heretic
Inlägg: 170
Blev medlem: 08 mar 2007, 00:25

Re: Köra endast linuxkärnan + GNU program

Inlägg av Heretic »

Konservburk skrev:Du kan ta vilken boot-loader du vill, och du kan hämta den var du vill. Själv tycker jag det är smidigt med atp-get install, men det spelar egentligen ingen roll. Det viktiga är att du installerar boot-loaderns boot-kod på USB-minnet.
Men vi säger att jag tar GRUB. ftp://alpha.gnu.org/gnu/grub/grub-1.98.tar.gz
Då packar jag upp den. Sen ska jag komplimera den? Sen ska jag lägga den på USB minnet och göra en länk till bzimage?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Köra endast linuxkärnan + GNU program

Inlägg av Konservburk »

Heretic skrev:Men vi säger att jag tar GRUB. ftp://alpha.gnu.org/gnu/grub/grub-1.98.tar.gz
Då packar jag upp den. Sen ska jag komplimera den? Sen ska jag lägga den på USB minnet och göra en länk till bzimage?
Typ så. Kompilera och sen grub-install eller helt enkelt starta upp och installera innifrån grub. Jag har inte bekantatat mig tillräckligt mycket med nya grub ännu för att på rak arm veta hur du gör sista steget. I gamla grup legacy var det bara att lägga till ett par rader i en fil menu.lst som anger var kärnavbilden finns.
Heretic
Inlägg: 170
Blev medlem: 08 mar 2007, 00:25

Re: Köra endast linuxkärnan + GNU program

Inlägg av Heretic »

Konservburk skrev:
Heretic skrev:Men vi säger att jag tar GRUB. ftp://alpha.gnu.org/gnu/grub/grub-1.98.tar.gz
Då packar jag upp den. Sen ska jag komplimera den? Sen ska jag lägga den på USB minnet och göra en länk till bzimage?
Typ så. Kompilera och sen grub-install eller helt enkelt starta upp och installera innifrån grub. Jag har inte bekantatat mig tillräckligt mycket med nya grub ännu för att på rak arm veta hur du gör sista steget. I gamla grup legacy var det bara att lägga till ett par rader i en fil menu.lst som anger var kärnavbilden finns.
Okej, nu har jag gjort det. Fick detta medelande. Tror att det är OK.
GRUB2 will be compiled with following components:
Platform: i386-pc
With memory debugging: No
efiemu runtime: Yes
grub-fstest: Yes
grub-mkfont: No (need freetype2 library)
Men vart är GRUB nu då?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Köra endast linuxkärnan + GNU program

Inlägg av Konservburk »

Heretic skrev:Men vart är GRUB nu då?
Om du kör make install brukar det bli under /usr/local, och annars kan du alltid kolla med find -name grub för att se var i källkodsträdet den hamnat. Det är väl också förstås möjligt att den heter grub2 istället, jag vet inte.
Heretic
Inlägg: 170
Blev medlem: 08 mar 2007, 00:25

Re: Köra endast linuxkärnan + GNU program

Inlägg av Heretic »

Konservburk skrev:
Heretic skrev:Men vart är GRUB nu då?
Om du kör make install brukar det bli under /usr/local, och annars kan du alltid kolla med find -name grub för att se var i källkodsträdet den hamnat. Det är väl också förstås möjligt att den heter grub2 istället, jag vet inte.
Okej, steg 1 är iallafall klart. bzimage är klar.

Kod: Markera allt

mkdir -p -- /usr/local/lib/grub/i386-pc
mkdir: kan inte skapa katalog "/usr/local/lib/grub": Åtkomst nekas
make: *** [install-local] Fel 1
Nu vet vi iallafall vart GRUB kommer ligga. Men det tar vi imorgon :)
Heretic
Inlägg: 170
Blev medlem: 08 mar 2007, 00:25

Re: Köra endast linuxkärnan + GNU program

Inlägg av Heretic »

Så här ser det ut om jag kört make install, root eller vanligt

http://pastebin.com/LUDmYRsL
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Köra endast linuxkärnan + GNU program

Inlägg av Konservburk »

Heretic skrev:Så här ser det ut om jag kört make install, root eller vanligt

http://pastebin.com/LUDmYRsL
Vad har du för rättigheter på /usr/local/lib/grub/i386-pc/ ? Är den monterad read-only?
Skriv svar

Återgå till "Experimentverkstad"