Vinnaren i pepparkakshustävlingen!
  • 2
  • 3
2024-01-28, 23:24
  #25
Avstängd
Citat:
Ursprungligen postat av Phobiazi
OK tack så mycket. Jag blev Lite fundersam där över varför de skulle ha det alternativ om det ej gick, så då sparar jag massor av tid så tack för informationen, uppskattar det!

Skönt med människor som är hjälpsam o inte förolämpar folk för deras frågor nånstans på Fb iaf.

Inga problem. Jag förstår precis vad du menar och jag förstår att du förstår mer än den som skrev ovan gör och du förtjänar ett bättre svar men nu vet du vem som inte kan också och det finns tyvärr ingen i princip som kan på FB i helhet därför blir det att folk förolämpar varandra istället för att faktiskt diskutera ämnet i sin helhet. Detta är inga enkla saker, det kräver att man har en väldigt bred förståelse för hur linux fungerar och vad det är framförallt, det krävs att man går igenom linux parametern så du frågar också frågor som väldigt få människor har insyn i på riktigt, kernel hacking kan man bara om man har läst och verkligen förstått dokumentationen på kernel.org. Den som har läst hela den vet också att när man har börjat intressera sig på riktigt och kommit så långt så kommer du att bli hänvisad till en annan site som är mycket enklare och mycket enklare med förklaringar som är för alla. Den har jag inte sett på Flashback.org så ingen har antagligen läst hela dokumentationen här:

Unreliable Guide To Hacking The Linux Kernel - Man måste förstå vad "the players" är och allt i sin helhet så förvänta dig inte komplexa svar när du frågar komplexa frågor som är på en nivå som inte några som på flashback har som skriver massa trams och förolämpningar, så eftersom du inte är där och faktiskt förstår hur det går till så låt mig visa dig hur du kan göra detta.

Lättast möjliga sättet att editera "kernel parametrar" är att göra det vid GRUB direkt men det blir bara under den booten du just nu kommer boota men den kommer inte vara för evigt, detta görs i grub menyn där du klickar på "e" och där får du manuellt gå ner till initrd/kernel är kernel parametern det kan vara lite masigt då det är VESA så de kan vara svårt att editera rätt, så ett enklare sätt för att hålla på att gissa med det där är att göra sin egen liveusb helt enkelt eller helt enkelt att ta ner deras iso och sedan ändra usb'n så den är efter hur du vill ha den där du kan lägga till/radera eller modifiera hela usbn, det är klart att det går det är ju det som är linux, detta går under namnet "Kernel Hacking" i linux dokumentationen så vill du ha information om det så får du l

Det andra sättet är att du tankar ner ison till det du vill använda, packa upp denna iso filen med ett verktyg som 7z eller binwalk te.x och du kan till och med mounta innehållet till en mapp och sedan chrootar du in i squashfs-root och mountar allt nödvändigt och sedan mountar du boot också över den "vanliga" booten så det är väldigt viktigt att vara försiktig här. Eftersom jag vet att du är intresserad så låt mig göra ett exempel, så kan du ha det som en mall sedan jag skall göra det enkelt men i ett annat inlägg. Jag tar Ubuntu ifall om andra också är intresserade i framtiden då det är den vanligaste att man använder.

Kod:
/* Uh, actually Linus it is I who cannot spell. Too much murky

Den som inte kan stava skall du följa efter och gör allting lite konstigt. Gör du det så hittar du bättre kontakter och du kommer alltid att hitta nyckeln till den bästa dokumentationen. INGEN förstår det som är på den länken till kernel.org bara rakt upp och ner. Det finns svar men dom får man hitta själv de är därför de inte är jätte stor idé att fråga på dessa ställen eller något online forum i princip.

Följ kernel dokumentationen och framförallt försök läsa ett par sidor så har du snart en kernel dokumentation som du kommer att förstå, det finns "hints" i texten på dokumentation sidan som inga vet vilka det är i princip för dom näms aldrig. Sök även på dom som "översätter" texterna på dokumentations sidan så har du snart kommit in i hur man hittar "rätt" info. Man kan inte få svar från någon som inte kan, därför ta inte åt dig av någon som inte vet hur en liveusb fungerar.

stupid linux tricks - boot a USB stick in "copy to RAM" mode even if it doesn't have that feature (or boot from an SD card when the BIOS doesn't support that) - Vem söker på "stupid tricks"? Det är ju "omöjligt" om du läser på nätet så dum dummare, tänk så där dummaste är någon att följa.

Är det någon som förstår hur en USB fungerar i Sverige så finner man en av dom i en kommentar på denna videon om du läser "svaren" te.x: https://www.youtube.com/watch?v=CqDUfiH2PzQ

Personen på videon har 28k visningar på 7 år, gubben på videon är ifrån: https://www.kernel.org/doc/

Folk tror de är svårt att bygga en kernel: https://www.kernel.org/doc/makehelp.txt
__________________
Senast redigerad av johnnysamu 2024-01-29 kl. 00:23.
Citera
2024-01-29, 00:46
  #26
Avstängd
1) wget https://mirrors.edge.kernel.org/qube...2.0-x86_64.iso
2) 7z x Qubes-R4.2.0-x86_64.iso
3) cd $_/squashfs-root
4) mkdir boot
5) mount /dev/USB_PARTITIONEN boot
6) mount -t proc proc ./proc
7) mount --rbind /dev ./dev
8) mount --rbind /sys ./sys
9) chroot squashfs-root /bin/sh
10) cd /usr/src/linux
11) <följ make_help.txt för att ta bort allt du inte behöver, de är en automatiskt process om du läst makehelp.txt)
12) nano /etc/default/grub
13) grub-mkconfig -o /boot/grub/grub.cfg
14) exit
15) rm rootfs.squahfs
16) mksquashfs squashfs-root
16) cd ..
17) mkisofs -J -l -R -V "Useless LiveUSB" -iso-level 4 -o output.iso _Extraherade_Qubeos_Mappen
18) dd if=output.iso /dev/sdX

X är din root partition på usb:t. Parametrarna kan du sätta under punkt 12.

Full parameter lista, läs den och ställ in efter det du önskar: https://www.kernel.org/doc/html/v4.1...arameters.html

Använder du EFI, så får du också använda efibootmgr för att uppdatera efibootmgr med mount -o rw,remount /sys/class/efi/efivars och modifiera boot parametern direkt utan grub så har du den alltid redo att boota.

Efibootmgr finner du mer info om: https://www.rodsbooks.com/efi-bootlo...tallation.html

Det är sedan klart, sätt rätt uuids för din usb i /etc/fstab bara så kerneln kan boota rätt "root" från usb:n du skrivit till.

Det är nu klart. Svårt va? Nej.

Varför kan ingen detta i princip på nätet, kernel dokumentation är ju indexerad på google det står ju högst upp i titeln på den /doc länken. Det står där också: Videos Worth Watching. Det är 5st. En av dom är den jag visade ovan om usb drivers, den har 27k views.

27k har sedan 2015 har kollat på en av dom få rekommenderade videona att se.

Sannolkheten att någon som läst linux dokumentationen på Flashback.org är nästan 0%. Jag har gjort det så det är inte 0%

Folk kan inte, läs dokumentationen! Nu har du en fingervisning vad lätt det är, 18 rader +-10st kanske beroende på hur du modifierar ett LiveUSB efter eget behov och önskemål.

https://qemu-project.gitlab.io/qemu/...linuxboot.html

"This section explains how to launch a Linux kernel inside QEMU without having to make a full bootable image. It is very useful for fast Linux kernel testing." Det är ungefär 6 rader med färdiga exempel.

Så, vill du inte göra en iso fil direkt och skriva till din usb vilket kan vara svårt att få till så räkna med att pussla och testa en del och faktiskt prova tills du hittar allt efter ditt önskemål och när du är nöjd och har gjort squashfsdelen på punkt 16, kan du stoppa där och testa din blivande "usb".

"qemu-system-x86_64 -kernel bzImage -hda root.squashfs -append "root=/dev/hda rootfstype=squashfs "toram_parametrar""

"toram" kan du inte bara lägga till, utan läs vad som är möjligt så hittar du det när du ser det du önskar så prova. Blir de fel och du får kernel panic, så vet du varför det också sker och när det sker.

Nu har du verkligen fått en räkmacka att glida på. Nu kan det inte gå fel, nu har du fått rätt länkar också. När du lyckas få din egen modifierade qubeos att boota helt så har du kommit mycket långt. Då börjar nästa steg att hämta kerneln på kernel.org och ladda ner och sedan när du kan detta så har du lite kunskap om Linux och dess system och då vet du att ingenting är omöjligt med linux.

Det är väldigt enkelt bara man läser rätt information och inte googlar.

Happy Hacking..
__________________
Senast redigerad av johnnysamu 2024-01-29 kl. 01:44.
Citera
2024-01-29, 03:54
  #27
Avstängd
Jag tog all min text jag nu har skrivit och jag tänkte jag frågar GPT4 hur jag kan använda pivot_root kanske istället för jag började prova lite själv nu men det som jag har i quote är alltså från GPT4 och det är inte jag som har skrivit utan jag frågade eftersom jag blev lite nyfiken på pivot_root då det står såhär i dokumentationen från 1996: https://www.kernel.org/doc/Documenta...ev/ramdisk.txt - Jag brukar inte fråga GPT4 då jag brukar vara vassare än GPT4 men denna gången så visste GPT4 hur man skulle göra det som jag skrev om "toram" så jag delar med mig av detta - Det finns ju bara en redadme så GPT4 har ju tränats på samma sak som jag läst men jag chansade och den svarade inte på min fråga direkt då jag frågade om denna delen och hur jag kunde göra det på det viset som skall vara wild and crazy enligt dokumentationen:

Kod:
//config:config PIVOT_ROOT
//config:	bool "pivot_root (1.1 kb)"
//config:	default y
//config:	help
//config:	The pivot_root utility swaps the mount points for the root filesystem
//config:	with some other mounted filesystem. This allows you to do all sorts
//config:	of wild and crazy things with your Linux system and is far more
//config:	powerful than 'chroot'.
//config:

https://elixir.bootlin.com/busybox/l...x/pivot_root.c

Kod:
To boot Qubes OS in QEMU using `/dev/ram` for the root filesystem instead of using a physical drive or a USB device, you can follow a procedure similar to what you've described, but with modifications to ensure that the system boots from a RAM disk. This approach leverages QEMU's ability to emulate hardware and boot operating systems from various sources, including RAM.

Your process already outlines extracting the Qubes ISO, modifying the filesystem, and preparing a new ISO. To boot this ISO using QEMU and use a RAM disk as the root filesystem, you can use the `-initrd` option in QEMU to specify an initial ramdisk and the `-kernel` option to specify the kernel. However, Qubes OS's usage of Xen as a hypervisor complicates direct booting with QEMU alone because Qubes is designed to run with Xen managing its domains.

Here's an adjusted approach focusing on the idea of running from RAM, keeping in mind the complex nature of Qubes OS:

1. **Prepare Qubes ISO**: Follow your steps to modify the Qubes OS filesystem as needed. Ensure you have a bootable ISO that includes your modifications.

2. **Extract Kernel and Initrd**: For booting, you need to extract the kernel (`vmlinuz`) and the initial ramdisk (`initrd.img`) from your modified Qubes OS. These files are usually located in the boot directory of the Qubes ISO or the squashfs-root you've created.

3. **QEMU Command**: Use QEMU with appropriate options to boot from the kernel and initrd directly. The command will look something like this:

```sh
qemu-system-x86_64 \
  -m 4096 \ # Adjust memory size as needed
  -kernel /path/to/vmlinuz \
  -initrd /path/to/initrd.img \
  -append "root=/dev/ram0 ramdisk_size=1000000" \ # Adjust ramdisk_size as needed
  -cdrom /path/to/your_modified_qubes.iso \
  -drive file=/path/to/empty_or_prepared_img,format=raw \
  -enable-kvm \
  -nographic
```

This command:
- Sets the machine to have a specified amount of RAM (`-m` flag).
- Uses the extracted kernel and initrd for booting.
- The `append` option is critical: it tells the kernel to use `/dev/ram0` as the root filesystem and sets the size of the ramdisk. You may need to adjust the `ramdisk_size` parameter based on your needs and the size of your modified Qubes filesystem.
- Boots from the modified Qubes ISO (`-cdrom`).
- Optionally, uses an additional drive for storage or Qubes system files.

4. **Xen and Qubes Specifics**: Since Qubes OS relies heavily on Xen, simply booting the kernel with an initrd may not suffice to fully test all Qubes functionalities. Qubes OS's security model depends on Xen for isolation between qubes (VMs). You may need to incorporate Xen parameters and ensure that your QEMU setup can emulate the Xen environment Qubes expects. This can be complex and may require additional steps or adjustments to the standard QEMU command.

5. **Testing and Adjustments**: Given the unique architecture of Qubes OS, you might need to experiment with different configurations and settings. Keep an eye on Qubes OS and QEMU documentation for any specific requirements or tips on running Qubes in a virtualized environment.

This approach provides a starting point for booting Qubes OS in QEMU with a focus on using RAM as the root filesystem. However, due to Qubes OS's unique structure and reliance on Xen, achieving a fully functional system this way may require further customization and experimentation.

Så för att boota å köra på ram så följ allt jag har skrivit punkt för punkt och "toram" för att underlätta det för dig så lägg till kernel parametern:

-append "root=/dev/ram0 ramdisk_size=1000000" \ # Adjust ramdisk_size as needed

Jag provade nu och det fungerade direkt. Så kör man QubeOS på ram men räkna med att det kan strula på ett usb och inte kommer fungera direkt. Det får du klara själv faktiskt och nu har jag verkligen ansträngt mig för att hjälpa dig men jag står fast vid det jag skrivit, läs dokumentationen för det är ju jag som kan nu och ifall om du inte förstår vad du gör så fastnar du direkt du kommer få ett minsta fel.

Nu blir det inte mer inlägg från mig och jag kan faktiskt inte heller besvara dina frågor om något går fel och det kan ingen annan heller göra men du får hacka dig fram men jag klarade det enkelt och jag har skrivit allting ifrån mitt eget huvud och det verkade vara rätt så nära det var bara "append" parametern jag inte kände till då jag inte tidigare provat på just qubeos förens nu men GPT4 var till hjälp med den delen.

Det är dock inte drekt praktiskt eller optimalt tycker jag att köra ett system på detta viset men det är lite komplext att svara på det med men jag gjorde mitt bästa så din fråga går inte att svara på ett annat sätt, det är så här man gör helt enkelt och det finns inget annat sätt och inga andra svar.

Det finns inga sätt som är "fel", gör som du vill och som sagt ta inte åt dig av folk som inte kan och sen förlita dig på det, jag sa ju att det gick och vill man så kan man, enkelt som sagt. Manualen från 1996 är väl knappt 50-100 rader? Kernel.org
__________________
Senast redigerad av johnnysamu 2024-01-29 kl. 04:19.
Citera
  • 2
  • 3

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback