Problemi e suggerimenti legati all'installazione di Arch Linux
-
vda
- Arciere Provetto
- Messaggi: 599
- Iscritto il: 13 febbraio 2011, 10:53
- Architettura: x86_64 (64bit)
Messaggio
da vda » 31 luglio 2018, 20:19
Ciao a tutti.
Ho da poco installato il sistema base di Arch Linux in VirtualBox simulando un ambiente UEFI con la ESP come partizione di /boot ed una partizione ext4 come partizione di root. Come boot loader utilizzo systemd-boot.
Ho anche provato a cancellare intenzionalmente
/boot/initramfs-linux.img per capire se è realmente necessario l'initramfs per avviare il lernel, anche in una configirazione cosi basilare.
Ero difatti convinto che il kernel avesse built-in in sé i moduli (quindi i driver) per montare il file-system di root, avviare init e accedere ai moduli esterni in /usr/lib/modules.
Imvece ho ricevuto un errore dal kernel che reclama comunque il suo initramfs.
Questo significa che la creazione di un ram-fs ed il conseguentr montaggio in RAM del file-system di root temporaneo (con relativi moduli ) é uno step obbligato all'avvio?

Ultima modifica di
vda il 1 agosto 2018, 13:17, modificato 1 volta in totale.
Soltanto quando siamo in grado di dare possediamo veramente.
Tutto ciò che non siamo in grado di dare ci possiede. [André Gide]
-
TheSaint
- Robin Hood
- Messaggi: 8049
- Iscritto il: 8 settembre 2007, 7:43
- Architettura: x86_64 (64bit)
- Località: davanti al computer
Messaggio
da TheSaint » 1 agosto 2018, 2:55
Se studi come funziona il kernel, potrai anche scoprire come poter avviare senza initramfs. Bisogna sapere correttamente cosa serve al kernel già dall' inizio e compilare il kernel tutto compreso.
Se hai già queste esperienze allora vedrai che iniitramfs potrebbe non servire. Infine non capisco questa preoccupazione.
F the saint 14 anni da questo forum
Gli uomini consumano il pianeta, almeno due di queste cose si possono ridurre.
-
vda
- Arciere Provetto
- Messaggi: 599
- Iscritto il: 13 febbraio 2011, 10:53
- Architettura: x86_64 (64bit)
Messaggio
da vda » 1 agosto 2018, 10:50
Nessuna preoccupazione, ci mancherebbe. É che mi piace capire... il che é anche responsabilità di Arch e della sua filosofia improntata all'uso consapevole di Linux..
Ma esiste un'istruzione per avere la lista dei soli moduli built-in nel kernel?

Ultima modifica di
vda il 1 agosto 2018, 13:16, modificato 1 volta in totale.
Soltanto quando siamo in grado di dare possediamo veramente.
Tutto ciò che non siamo in grado di dare ci possiede. [André Gide]
-
vda
- Arciere Provetto
- Messaggi: 599
- Iscritto il: 13 febbraio 2011, 10:53
- Architettura: x86_64 (64bit)
Messaggio
da vda » 1 agosto 2018, 13:16
Ok, trovato
Codice: Seleziona tutto
$ cat /usr/lib/modules/4.17.10-1-ARCH/modules.builtin
kernel/arch/x86/platform/intel/iosf_mbi.ko
kernel/kernel/configs.ko
kernel/mm/zpool.ko
kernel/mm/zbud.ko
kernel/mm/zsmalloc.ko
kernel/mm/z3fold.ko
kernel/fs/binfmt_misc.ko
kernel/fs/binfmt_script.ko
kernel/fs/autofs4/autofs4.ko
kernel/fs/configfs/configfs.ko
kernel/fs/efivarfs/efivarfs.ko
kernel/fs/exportfs/exportfs.ko
kernel/fs/nls/nls_base.ko
kernel/fs/pstore/pstore.ko
kernel/fs/pstore/ramoops.ko
kernel/crypto/crypto.ko
kernel/crypto/crypto_wq.ko
kernel/crypto/crypto_algapi.ko
kernel/crypto/aead.ko
kernel/crypto/crypto_blkcipher.ko
kernel/crypto/seqiv.ko
kernel/crypto/crypto_hash.ko
kernel/crypto/akcipher.ko
kernel/crypto/kpp.ko
kernel/crypto/dh_generic.ko
kernel/crypto/rsa_generic.ko
kernel/crypto/crypto_acompress.ko
kernel/crypto/cryptomgr.ko
kernel/crypto/hmac.ko
kernel/crypto/crypto_null.ko
kernel/crypto/md5.ko
kernel/crypto/sha1_generic.ko
kernel/crypto/sha256_generic.ko
kernel/crypto/gf128mul.ko
kernel/crypto/ecb.ko
kernel/crypto/ctr.ko
kernel/crypto/gcm.ko
kernel/crypto/aes_generic.ko
kernel/crypto/crct10dif_common.ko
kernel/crypto/crct10dif_generic.ko
kernel/crypto/lzo.ko
kernel/crypto/rng.ko
kernel/crypto/drbg.ko
kernel/crypto/jitterentropy_rng.ko
kernel/crypto/ghash-generic.ko
kernel/crypto/asymmetric_keys/public_key.ko
kernel/crypto/asymmetric_keys/x509_key_parser.ko
kernel/crypto/asymmetric_keys/pkcs7_message.ko
kernel/block/deadline-iosched.ko
kernel/block/cfq-iosched.ko
kernel/block/mq-deadline.ko
kernel/block/kyber-iosched.ko
kernel/block/bfq.ko
kernel/drivers/acpi/button.ko
kernel/drivers/acpi/fan.ko
kernel/drivers/acpi/video.ko
kernel/drivers/acpi/processor.ko
kernel/drivers/acpi/thermal.ko
kernel/drivers/acpi/hed.ko
kernel/drivers/acpi/ec_sys.ko
kernel/drivers/acpi/acpi_pad.ko
kernel/drivers/base/firmware_loader/firmware_class.ko
kernel/drivers/base/regmap/regmap-i2c.ko
kernel/drivers/base/regmap/regmap-spi.ko
kernel/drivers/base/regmap/regmap-mmio.ko
kernel/drivers/bus/simple-pm-bus.ko
kernel/drivers/connector/cn.ko
kernel/drivers/cpufreq/cpufreq_performance.ko
kernel/drivers/dax/dax.ko
kernel/drivers/dma/virt-dma.ko
kernel/drivers/dma/dw/dw_dmac_core.ko
kernel/drivers/dma/dw/dw_dmac.ko
kernel/drivers/dma/dw/dw_dmac_pci.ko
kernel/drivers/dma/hsu/hsu_dma.ko
kernel/drivers/edac/edac_core.ko
kernel/drivers/extcon/extcon-core.ko
kernel/drivers/gpio/gpio-generic.ko
kernel/drivers/gpu/drm/drm_panel_orientation_quirks.ko
kernel/drivers/hwmon/hwmon.ko
kernel/drivers/i2c/i2c-core.ko
kernel/drivers/i2c/busses/i2c-designware-core.ko
kernel/drivers/i2c/busses/i2c-designware-platform.ko
kernel/drivers/input/input-core.ko
kernel/drivers/input/touchscreen/of_touchscreen.ko
kernel/drivers/iommu/iova.ko
kernel/drivers/mfd/mfd-core.ko
kernel/drivers/mfd/ab3100-otp.ko
kernel/drivers/nvdimm/libnvdimm.ko
kernel/drivers/nvme/host/nvme-core.ko
kernel/drivers/nvme/host/nvme.ko
kernel/drivers/pci/pci-stub.ko
kernel/drivers/pinctrl/intel/pinctrl-cherryview.ko
kernel/drivers/pinctrl/intel/pinctrl-intel.ko
kernel/drivers/pinctrl/intel/pinctrl-broxton.ko
kernel/drivers/pinctrl/intel/pinctrl-cannonlake.ko
kernel/drivers/pinctrl/intel/pinctrl-cedarfork.ko
kernel/drivers/pinctrl/intel/pinctrl-denverton.ko
kernel/drivers/pinctrl/intel/pinctrl-geminilake.ko
kernel/drivers/pinctrl/intel/pinctrl-lewisburg.ko
kernel/drivers/pinctrl/intel/pinctrl-sunrisepoint.ko
kernel/drivers/platform/x86/intel_pmc_core.ko
kernel/drivers/pps/pps_core.ko
kernel/drivers/ptp/ptp.ko
kernel/drivers/thermal/thermal_sys.ko
kernel/drivers/tty/serdev/serdev.ko
kernel/drivers/tty/serial/serial_core.ko
kernel/drivers/tty/serial/8250/8250.ko
kernel/drivers/tty/serial/8250/8250_base.ko
kernel/drivers/tty/serial/8250/8250_pci.ko
kernel/drivers/tty/serial/8250/8250_lpss.ko
kernel/drivers/tty/serial/8250/8250_mid.ko
kernel/drivers/video/backlight/backlight.ko
kernel/drivers/video/fbdev/core/fb.ko
kernel/drivers/video/fbdev/core/cfbfillrect.ko
kernel/drivers/video/fbdev/core/cfbcopyarea.ko
kernel/drivers/video/fbdev/core/cfbimgblt.ko
kernel/drivers/watchdog/pretimeout_panic.ko
kernel/drivers/xen/xenbus/xenbus_probe_frontend.ko
kernel/arch/x86/video/fbdev.ko
kernel/net/ipv4/tcp_cubic.ko
kernel/net/ipv6/ipv6.ko
kernel/net/ipv6/inet6_hashtables.ko
kernel/net/netlabel/netlabel_calipso.ko
kernel/net/packet/af_packet.ko
kernel/net/packet/af_packet_diag.ko
kernel/net/sched/sch_fq_codel.ko
kernel/net/strparser/strparser.ko
kernel/net/unix/unix.ko
kernel/net/unix/unix_diag.ko
kernel/lib/bitrev.ko
kernel/lib/crc-ccitt.ko
kernel/lib/crc-t10dif.ko
kernel/lib/crc32.ko
kernel/lib/asn1_decoder.ko
kernel/lib/oid_registry.ko
kernel/lib/ucs2_string.ko
kernel/lib/fonts/font.ko
kernel/lib/lz4/lz4_decompress.ko
kernel/lib/lzo/lzo_compress.ko
kernel/lib/lzo/lzo_decompress.ko
kernel/lib/mpi/mpi.ko
kernel/lib/reed_solomon/reed_solomon.ko
kernel/lib/xz/xz_dec.ko
kernel/lib/zlib_deflate/zlib_deflate.ko
kernel/lib/zlib_inflate/zlib_inflate.ko
E in effetti fra questi non trovo nulla che ricordi ad esempio dischi SSD, nè fs ext4...
Grazie ancora

Soltanto quando siamo in grado di dare possediamo veramente.
Tutto ciò che non siamo in grado di dare ci possiede. [André Gide]
-
TheSaint
- Robin Hood
- Messaggi: 8049
- Iscritto il: 8 settembre 2007, 7:43
- Architettura: x86_64 (64bit)
- Località: davanti al computer
Messaggio
da TheSaint » 1 agosto 2018, 13:19
Credo che potresti provare questo comando
Ma se cerchi quali sono in initramfs, allora dovresti estrarre initramfs compresso e montarlo in loop. Poi magari puoi vedere se contiene dei moduli. Suppongo che il kernel sia invece senza drivers e li carica tramite i moduli.
Se sai quali sono i moduli che servono allora potresti anche provare a compilarti il kernel monolitico. Facile che li scopri con
F the saint 14 anni da questo forum
Gli uomini consumano il pianeta, almeno due di queste cose si possono ridurre.