depenguin-me / depenguin-run

Installer script for mfsBSD image to install FreeBSD 14.0 with zfs-on-root using qemu
MIT License
16 stars 7 forks source link

add note about different NICs in KS-GAME-1 #54

Closed nkfilis closed 1 year ago

bretton commented 1 year ago

if using the unattended install process then specify in depenguin_settings.sh (other options omitted for brevity):

conf_interface="igb0"
...
run_installer="1"

or

conf_interface="em0"
...
run_installer="1"

followed by running ./depenguin_bsdinstall.sh

grembo commented 1 year ago

@bretton It would be kind of cool to give advice based on PCI ids (using FreeBSD's database).

bretton commented 1 year ago
pciconf -lv | grep -A1 -B3 network | head -1 | awk -F \@ '{print $1}'

maybe a simpler way. perhaps user could be notified on login or switch to root, short summary key info like NIC, other relevant things I can't think of now

edit: could also happen automatically for depenguin_bsdinstall.sh script, remove something needing to be edited. if reliable should be fine.

grembo commented 1 year ago
pciconf -lv | grep -A1 -B3 network | head -1 | awk -F \@ '{print $1}'

maybe a simpler way. perhaps user could be notified on login or switch to root, short summary key info like NIC, other relevant things I can't think of now

edit: could also happen automatically for depenguin_bsdinstall.sh script, remove something needing to be edited. if reliable should be fine.

It definitely has to happen outside of qemu/on the Linux side (as pci ids inside the vm aren‘t helpful)

bretton commented 1 year ago

It definitely has to happen outside of qemu/on the Linux side (as pci ids inside the vm aren‘t helpful)

doh! for linux there is eth0, enp0s1, enp66s0f0 etc. there isn't an igb0 or em0 equivalent, we'd need to map it somehow?

bretton commented 1 year ago

local machine

dmesg |grep -i ethernet
[    0.985256] igb: Intel(R) Gigabit Ethernet Network Driver

hetzner rescue

root@rescue ~ # dmesg | grep -i ethernet
[Fri Aug 26 19:38:40 2022] igb: Intel(R) Gigabit Ethernet Network Driver
[Fri Aug 26 19:38:40 2022] igb 0000:23:00.0: Intel(R) Gigabit Ethernet Network Connection

or lshw -class network and search for driver=igb or similar, output applicable one to use.

root@rescue ~ # lshw -class network
-bash: lshw: command not found

edit: other results include:

grembo commented 1 year ago

@bretton I thought of using lspci and matching pci vendor/product ids against ids from FreeBSD‘s drivers. We could then show matches in the output of run.sh - maybe there’s an existing solution for that. It’s definitely wishlist material, but at least for most common devices not too hard to do.

bretton commented 1 year ago

ok cool, I see now:

lspci -n
...
06:00.0 0200: 8086:1539 (rev 03)

lspci -nv
...
06:00.0 0200: 8086:1539 (rev 03)
    Subsystem: 8086:0000
    Flags: bus master, fast devsel, latency 0, IRQ 17
    Memory at df000000 (32-bit, non-prefetchable) [size=128K]
    I/O ports at 9000 [size=32]
    Memory at df020000 (32-bit, non-prefetchable) [size=16K]
    Capabilities: [40] Power Management version 3
    Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
    Capabilities: [70] MSI-X: Enable+ Count=5 Masked-
    Capabilities: [a0] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [140] Device Serial Number 00-b0-c9-ff-ff-8a-40-c3
    Capabilities: [1a0] Transaction Processing Hints
    Kernel driver in use: igb
    Kernel modules: igb

you can also probe for a device with

lspci -d [vendor code]:[device code]
grembo commented 1 year ago

lspci -n should give you numeric ids we can match