最新記事

IP 0.0.0.0およびGW 0.0.0.0に不要なルートを追加しないようにconnmandを設定する方法
networking
linux-kernel
embedded
connman

IP 0.0.0.0およびGW 0.0.0.0に不要なルートを追加しないようにconnmandを設定する方法

以下のパスは固定されており、手動で削除してもconnmand(接続マネージャデーモン)によって別のインターフェイス名として追加されます。 ip link cmdを使用して特定のインターフェイスをシャットダウンしても同じ問題が発生します。 root@soc:~$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 eth0 connmandそうしないように設定する方法はありますか? 追加情報:eth0は静的IPアドレスを使用します。私のシステム(SoC)には4つのインターフェイスがあり、3つは固定IPアドレスを使用し、1つはDHCPを使用します。以下のeth0の固定IPを定義するsystemd / networkファイルを追加しました。 root@soc:/etc/systemd/network$ cat 10-eth0-soc.network [Match] Name=eth0 [Network] Address=10.10.11.2/24 root@soc:/etc/systemd/network$

Admin

ディストリビューション固有のカーネルバージョンのリストを含むRSS - そのようなものはありますか?
linux
linux-kernel
rss-aggregator

ディストリビューション固有のカーネルバージョンのリストを含むRSS - そのようなものはありますか?

RSSフィードの各ディストリビューションごとにLinuxカーネルバージョンを集約できる場所はありますか? 私は多くのディストリビューション(CentOS 7 + 8、Ubuntuバージョン、Rockyなど)を使用していますが、すべてのディストリビューションを監視するのはかなり面倒です。 各ディストリビューションの正確なカーネルバージョンを知る必要があるため、メジャーバージョンだけでは不十分です。 たとえば、RedHat 7が次のカーネルをリリースした場合は、リストでそのカーネルを確認する必要があります。 3.10.0-1160.88.1.el7.x86_64 したがって、「3.10.0-1160.88」を見るだけでは不十分です。 だからそこにありますか?

Admin

LinuxカーネルでQCA6390 Bluetoothファームウェアを有効にする方法は?
linux-kernel
bluetooth
firmware
nixos

LinuxカーネルでQCA6390 Bluetoothファームウェアを有効にする方法は?

コンテキスト XPS 9310に必要なBluetoothファームウェアをロードするためにカーネルをインポートできません。私のモデルにはQCA6390を使用するAX500接続チップがあります。 両方のユーザーUbuntuそしてアーチBluetoothはこのモデルで動作することが報告されていますが、NixOSで動作するために必要な正しいカーネル設定を見つけるのに問題があります。 私の設定 boot.kernelPatches次のカーネル構成パラメーターを有効にし、nix構成に次のパッチを追加しました。 # Extra config required for Bluetooth. { name = "enable-qca6390-bluetooth"; patch = null; extraConfig = '' BT_QCA m BT_HCIBTUSB m BT_HCIBTUSB_AUTOSUSPEND y BT_HCIUART m BT_HCIUART_QCA y ''; } 次のように関連モジュールをロードします。 boot.kernelModules = [ "bluetooth" "btqca" "btusb" "hci_qca" "hci_uart" ]; 私が持っていることは言うまでもありません: hardware.bluetooth.enable = true; 私も持っています: hardware.enableRedistributableFirmware = true; これは作るfirmwareLinuxNonfreeパッケージはファームウェアを追加します。Linuxファームウェア買戻契約も含まれます。必要なQCAファームウェア。 質問 dmesg2人の独立したUbuntuユーザーの出力にファームウェアがロードされていることがわかります。ここそしてここ、どちらもBluetoothが機能していることを報告します。しかし、私はそれが私の中にロードされるのを観察することはできません。 参考までに、以下はdmesgBluetoothを使用しているユーザーの出力です。 [ 2.349008] Bluetooth: Core ver 2.22 [ 2.349019] Bluetooth: HCI device and connection manager initialized [ 2.349023] Bluetooth: HCI socket layer initialized [ 2.349024] Bluetooth: L2CAP socket layer initialized [ 2.349028] Bluetooth: SCO socket layer initialized [ 2.394642] Bluetooth: HCI UART driver ver 2.3 [ 2.394644] Bluetooth: HCI UART protocol H4 registered [ 2.394645] Bluetooth: HCI UART protocol BCSP registered [ 2.394654] Bluetooth: HCI UART protocol LL registered [ 2.394655] Bluetooth: HCI UART protocol ATH3K registered [ 2.394660] Bluetooth: HCI UART protocol Three-wire (H5) registered [ 2.394702] Bluetooth: HCI UART protocol Intel registered [ 2.394734] Bluetooth: HCI UART protocol Broadcom registered [ 2.394742] Bluetooth: HCI UART protocol QCA registered [ 2.394743] Bluetooth: HCI UART protocol AG6XX registered [ 2.394748] Bluetooth: HCI UART protocol Marvell registered [ 2.416321] Bluetooth: hci0: setting up ROME/QCA6390 [ 2.420348] Bluetooth: hci0: Frame reassembly failed (-84) [ 2.444937] Modules linked in: snd_pcm qrtr ns snd_seq_midi snd_seq_midi_event ath11k_pci(+) mhi snd_rawmidi ath11k hci_uart qmi_helpers btqca i915(+) snd_seq btrtl uvcvideo mac80211 snd_seq_device btbcm btintel snd_timer videobuf2_vmalloc dell_wmi drm_kms_helper input_leds videobuf2_memops dell_smbios videobuf2_v4l2 cec dcdbas snd efi_pstore serio_raw rc_core videobuf2_common hid_sensor_als i2c_algo_bit hid_sensor_trigger ucsi_acpi(+) cfg80211 fb_sys_fops industrialio_triggered_buffer processor_thermal_device typec_ucsi dell_wmi_descriptor kfifo_buf hid_sensor_iio_common intel_rapl_common soundcore industrialio wmi_bmof videodev mei_me libarc4 syscopyarea cros_ec_ishtp 8250_dw mc hid_multitouch sysfillrect mei cros_ec sysimgblt intel_soc_dts_iosf typec mac_hid bluetooth ecdh_generic ecc int3403_thermal int340x_thermal_zone acpi_pad intel_hid acpi_tad int3400_thermal acpi_thermal_rel sparse_keymap sch_fq_codel parport_pc ppdev drm lp parport ip_tables x_tables autofs4 hid_sensor_hub [ 2.756645] Bluetooth: hci0: QCA Product ID :0x00000010 [ 2.756647] Bluetooth: hci0: QCA SOC Version :0x400a0200 [ 2.756647] Bluetooth: hci0: QCA ROM Version :0x00000200 [ 2.756648] Bluetooth: hci0: QCA Patch Version:0x00000d2b [ 2.756650] Bluetooth: hci0: QCA controller version 0x02000200 [ 2.756651] Bluetooth: hci0: QCA Downloading qca/htbtfw20.tlv [ 3.584055] Bluetooth: hci0: QCA Downloading qca/htnv20.bin [ 3.777754] Bluetooth: hci0: QCA setup on UART is completed [ 3.998318] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 3.998319] Bluetooth: BNEP filters: protocol multicast [ 3.998321] Bluetooth: BNEP socket layer initialized [ 14.108234] Bluetooth: RFCOMM TTY layer initialized [ 14.108238] Bluetooth: RFCOMM socket layer initialized [ 14.108242] Bluetooth: RFCOMM ver 1.11 dmesg | grep -i blueマイコンピュータの出力は次のとおりです。 [ 4.363188] Bluetooth: Core ver 2.22 [ 4.363199] Bluetooth: HCI device and connection manager initialized [ 4.363201] Bluetooth: HCI socket layer initialized [ 4.363203] Bluetooth: L2CAP socket layer initialized [ 4.363205] Bluetooth: SCO socket layer initialized [ 4.379230] Bluetooth: HCI UART driver ver 2.3 [ 4.379231] Bluetooth: HCI UART protocol H4 registered [ 4.379232] Bluetooth: HCI UART protocol BCSP registered [ 4.379238] Bluetooth: HCI UART protocol LL registered [ 4.379256] Bluetooth: HCI UART protocol Intel registered [ 4.379260] Bluetooth: HCI UART protocol QCA registered [ 20.090546] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 20.090553] Bluetooth: BNEP socket layer initialized ご覧のとおり、私のBluetooth設定ではこの手順や次のいずれも行いませんhci0。 [ 2.416321] Bluetooth: hci0: setting up ROME/QCA6390 予想どおり、GNOME設定GUIでBluetoothを有効にすることはできず、bluetoothctl何も表示されません。 $ bluetoothctl list $ bluetoothctl devices No default controller available 質問 私が理解したように、ファームウェアはアクティブなときに自動的にロードされなければならずBT_QCA、両方とも前述のnix設定の結果でなければなりません。 この仮定は正しいですか? hci0上記の行を実行するために必要な必要な手順がありませんか? 進行方法の提案やアイデアをいただきありがとうございます! システムメッセージ $ nix-shell -p nix-info --run "nix-info -m" - system: `"x86_64-linux"` - host os: `Linux 5.10.2, NixOS, 21.03pre259798.84917aa00bf (Okapi)` - multi-user?: `yes` - sandbox: `yes` - version: `nix-env (Nix) 2.3.10` - channels(root): `"nixos-21.03pre259798.84917aa00bf, home-manager-20.09"` - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos` $ lsmod | grep -i bt btusb 57344 0 btrtl 24576 1 btusb btbcm 20480 1 btusb btintel 28672 2 hci_uart,btusb btqca 20480 1 hci_uart bluetooth 589824 13 btrtl,btqca,btintel,hci_uart,btbcm,bnep,btusb usbcore 270336 5 xhci_hcd,usbhid,uvcvideo,btusb,xhci_pci $ lspci 00:00.0 Host bridge: Intel Corporation 11th Gen Core Processor Host Bridge/DRAM Registers (rev 01) 00:02.0 VGA compatible controller: Intel Corporation UHD Graphics (rev 01) 00:04.0 Signal processing controller: Intel Corporation Device 9a03 (rev 01) 00:06.0 PCI bridge: Intel Corporation 11th Gen Core Processor PCIe Controller (rev 01) 00:07.0 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt PCI Express Root Port #0 (rev 01) 00:07.2 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt PCI Express Root Port #2 (rev 01) 00:0a.0 Signal processing controller: Intel Corporation Device 9a0d (rev 01) 00:0d.0 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt USB Controller (rev 01) 00:0d.2 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt NHI #0 (rev 01) 00:0d.3 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt NHI #1 (rev 01) 00:12.0 Serial controller: Intel Corporation Tiger Lake-LP Integrated Sensor Hub (rev 20) 00:14.0 USB controller: Intel Corporation Tiger Lake-LP USB 3.2 Gen 2x1 xHCI Host Controller (rev 20) 00:14.2 RAM memory: Intel Corporation Tiger Lake-LP Shared SRAM (rev 20) 00:15.0 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #0 (rev 20) 00:15.1 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #1 (rev 20) 00:16.0 Communication controller: Intel Corporation Tiger Lake-LP Management Engine Interface (rev 20) 00:19.0 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #4 (rev 20) 00:19.1 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #5 (rev 20) 00:1c.0 PCI bridge: Intel Corporation Device a0b8 (rev 20) 00:1d.0 PCI bridge: Intel Corporation Device a0b3 (rev 20) 00:1e.0 Communication controller: Intel Corporation Tiger Lake-LP Serial IO UART Controller #0 (rev 20) 00:1f.0 ISA bridge: Intel Corporation Tiger Lake-LP LPC Controller (rev 20) 00:1f.3 Multimedia audio controller: Intel Corporation Tiger Lake-LP Smart Sound Technology Audio Controller (rev 20) 00:1f.4 SMBus: Intel Corporation Tiger Lake-LP SMBus Controller (rev 20) 00:1f.5 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP SPI Controller (rev 20) 01:00.0 Non-Volatile memory controller: Toshiba Corporation Device 011a 56:00.0 Unassigned class [ff00]: Qualcomm Device 1101 57:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5260 PCI Express Card Reader (rev 01) $ lsusb Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 003: ID 0c45:672a Microdia Integrated_Webcam_HD Bus 003 Device 002: ID 27c6:533c Shenzhen Goodix Technology Co.,Ltd. FingerPrint Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 追加リファレンス 参照用に使用される場合、デフォルトのカーネル構成へのリンクは次のとおりです。ニックOS、ダーバンそしてアーチ。 これは私のWIPです。交渉NixOSにXPS 9310サポートを追加することを目的として、このタスクが含まれる予定です。 これは私の以前の投稿私はこの問題の助けを得るためにNixOSフォーラムに連絡しましたが、執筆時点では答えを受けませんでした。 解決済み 私たちは nixos/nixos-hardware github リポジトリでこの問題を解決し、必要なカーネル設定パッチを nixpkgs 自体にアップロードしました。nixos-hardwareリポジトリのモジュールの使用ここXPS 9310でnixosを簡単に起動して実行できます。

Admin

4TBシステムのRedhat 7.6:1TB以上は使用できません。
rhel
linux-kernel
memory

4TBシステムのRedhat 7.6:1TB以上は使用できません。

Redhat 7.6を実行する4-CPU/72コア、4TBメモリシステムがあります。 /proc/cmdline示す: BOOT_IMAGE=/vmlinuz-3.10.0-957.5.1.el7.x86_64 ... ro crashkernel=auto rd.lvm.lv=vg00/lswap nomodeset rhgb quiet LANG=en_US.UTF-8 ジョブを実行すると、このマシンに1TB以上のメモリを割り当てることはできません。割り当てられたメモリを使用してこれを再現できましたstress-ng。たとえば、現在の状態は次のとおりです。 total used free shared buff/cache available Mem: 3.9T 279G 2.2T 34G 1.4T 3.6T Swap: 127G 849M 127G 1TB以上を使用するためにストレスngを使用してメモリを割り当てようとすると、エラーが発生します。このコマンドはうまく動作します。 stress-ng -m 60 --vm-bytes 700G -t 180s メモリが最大980GB程度になることを確認しました。しかし、もう少し割り当てると、mmapは失敗します。 stress-ng -m 60 --vm-bytes 800G -t 180s stress-ng: info: [90100] dispatching hogs: 60 vm stress-ng: error: [90457] stress-ng-vm: gave up trying to mmap, no available memory そして、freeディスプレイ使用量は最大1TBに達します。使用量は1TBを超えていません。 ユーザーメモリを1.0TBに制限できるカーネル構成やその他の要素を考慮する必要がありますか?時間の経過とともに、このbuff/cache値は3.0Tに増加し、決して解放されません。おそらく、カーネルがユーザープロセスがその値に入ることを許可していないからです。

Admin

カーネルモジュールとそのカーネルバージョン
kernel
linux-kernel
kernel-modules

カーネルモジュールとそのカーネルバージョン

私たちが構築するモジュールのカーネルバージョンはどのように決まりますか?つまり、カーネルモジュールを構築できるカーネルのバージョンを自分で決定できるかどうかを知りたいです(vermagicバージョンマジック)。

Admin

Linuxカーネル5.0.9にメモリリークがありますか?
linux-kernel
top

Linuxカーネル5.0.9にメモリリークがありますか?

おそらく次のようなものLinux メモリ使用量がプロセス合計よりも高い。しかし、使用されたメモリはGB単位のRSSプロセスの合計よりも低くても高くなりました。 uname -sr Linux 5.0.9-... cat /proc/meminfo MemTotal: 8155920 kB MemFree: 280200 kB MemAvailable: 328152 kB Buffers: 144 kB Cached: 704380 kB SwapCached: 15440 kB Active: 2374160 kB Inactive: 1195784 kB Active(anon): 2259104 kB Inactive(anon): 1026600 kB Active(file): 115056 kB Inactive(file): 169184 kB Unevictable: 238012 kB Mlocked: 0 kB SwapTotal: 8388604 kB SwapFree: 5908220 kB Dirty: 168 kB Writeback: 0 kB AnonPages: 3097284 kB Mapped: 255492 kB Shmem: 420252 kB KReclaimable: 81636 kB Slab: 346972 kB SReclaimable: 81636 kB SUnreclaim: 265336 kB KernelStack: 14720 kB PageTables: 70776 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 12466564 kB Committed_AS: 9429628 kB VmallocTotal: 34359738367 kB VmallocUsed: 0 kB VmallocChunk: 0 kB Percpu: 2112 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB ShmemHugePages: 0 kB ShmemPmdMapped: 0 kB CmaTotal: 0 kB CmaFree: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB Hugetlb: 0 kB DirectMap4k: 4764008 kB DirectMap2M: 3614720 kB すべてのプロセス(出力で個別に合計されます)、slabinfo、buff / cache、swapのRSS合計はtop100 MB以上変更されませんが、使用可能なメモリはGBだけ増加します。後ろにffmpegの起動...過度の長期圧縮操作でffmpegを起動すると、すべてのディスクスラッシングが確実に削除され、毎回使用可能なメモリが大幅に増加するようです(良い一時的なソリューションですが、長期的なソリューションでは許可されていません)。 ffmpeg の実行中に使用可能なメモリがダウンし、ディスクがクラッシュしますが、使用可能なメモリは GB 単位で増加します。この動作はffmpegが実行されている場合にのみ存在します。 ffmpegが実行されていない場合、使用可能なメモリはディスクスラッシングの原因から最大数百MBに移動します。システムを使った過去2ヶ月間、他のどのプログラムも同じ効果を出さなかったようです。面白いと迷惑。

Admin

私の仮想マシンがネットワーク接続にvhost-netドライバを使用しているかどうかを確認する方法
networking
linux-kernel
kvm
virtio

私の仮想マシンがネットワーク接続にvhost-netドライバを使用しているかどうかを確認する方法

KVM では、ネットワーク カード モデルはvirtio(最新) または以前e1000(使用されなくなった、エミュレートされた) に設定できます。 virtioでは、vhost-netドライバまたはqemu。 vhost-netとqemuの違いは、パケットがゲストからホストに送信され、物理ネットワークカードに転送される方法です。 vhost-netモジュールは、virtioパケット処理タスクをユーザースペース(QEMUプロセス)からカーネル外(vhost-netドライバ)に移動して仮想化オーバーヘッドを減らすvirtioネットワーキングのためのカーネルレベルのバックエンドです。 vhost-net は virtio ネットワークインターフェイスでのみ動作します。vhost-net カーネルモジュールがロードされると、デフォルトで有効になります。すべてのvirtioインターフェイスに適用されますが、vhost-netを使用すると特定のワークロードのパフォーマンスが低下した場合は、インターフェイス設定で無効にできます。引用する 私の質問は、vhost-netモジュールがロードされたことをどのように確認しますか?一般的なコマンドはmodinfoここでも機能しますか?

Admin

「perf_event_paranoid」の変更がセキュリティに与える影響
linux-kernel
profiling
perf

「perf_event_paranoid」の変更がセキュリティに与える影響

perf私のプログラムの測定値を収集するためにこのユーティリティを使用したいと思います。これはDebian 9の共有クラスタシステムで実行されており、デフォルトでは3に設定されているため、 /proc/sys/kernel/perf_event_paranoid測定値を収集できません。変更する前に、これがどのような影響を与えるかを知りたいです。 単にセキュリティによって、他のユーザーがさまざまな目的で実行されているコンテンツを分析し、結果として洞察を得ることができますか?とにかくユーザーの内部サークルなので、私たちはこれを気にしません。それとも他の誰にも影響を与えるパフォーマンスですか?

Admin

チート防止機能はどのように機能し、Steamゲームにどのように配布されますか?
linux-kernel
steam
games

チート防止機能はどのように機能し、Steamゲームにどのように配布されますか?

~によるとLevvvelのカーネルレベルのチート防止ゲームリスト、多くの現代のゲームはカーネルレベルのアンチチートを使用しています。 Epicはカーネルレベルのチート防止プロバイダーの1つです。簡単に不正行為を防止これを活用したゲームの一つは、頂点伝説蒸気で見つけることができます。 Apex Legendsなどのゲームでチート防止に必要なカーネルモジュールをどのようにインストールしますか?これらのゲームの多くはすぐにLinuxに移行するようです。プラットフォームをサポートするチート防止技術のおかげです。 まず、これらのLinux用のチート防止技術は実際にはカーネルレベルですか、それとも単に大規模なパニックですか?チート防止ベンダーは、WindowsよりLinuxのセキュリティレベルが低いことを認めていますか? Steamがインストールされているゲームの場合、LinuxにAnti-Cheatカーネルモジュールをインストールするにはどうすればよいですか? Steamですか、それともゲーム自体ですか? Steamまたはゲームがサポートされているすべてのプラットフォームとアーキテクチャにデプロイされているすべてのカーネルに対して、これらのカーネルモジュールをコンパイルしてホストしますか?これを簡単にサポートできるビルドソリューション(OBSやKojiなど)があるため、それほど難しくありません。 Steamをルートではなくインスタンスとして実行したり、コンテナ化またはフラット化されたインスタンスとして実行したりするとどうなりますか?ゲームはできますが、不正行為防止に失敗しますか?

Admin

AlmaLinux 8またはCentOS 7では、vm.swappiness = 0はスワップが完全に無効になっていることを意味しますか?
centos
linux-kernel
swap
ram
alma-linux

AlmaLinux 8またはCentOS 7では、vm.swappiness = 0はスワップが完全に無効になっていることを意味しますか?

vm.swappiness=1長年にわたってsysctl.confで利用可能なRAMが十分であるにもかかわらず(キャッシュ側でほとんどいっぱいになり、通常はまだ4GBの空き容量がありますが、「使用可能」はまだかなり無料です)、スワップ領域は引き続き使用されます問題がありました。時にはほとんどいっぱいです。 私はスワップをまったく使用したくありません。必須。 私は今読んだ。2019年のこの回答でそれ: swappiness = 0は、できるだけ長く物理メモリからプロセスをスワップしないようにカーネルに指示します。 しかし、私も読んだ。この2012年の回答からそれ: 交換性=0: カーネルバージョン3.5以降:交換性を無効にします。 3.5以前のカーネルバージョン:可能であれば、物理メモリ内のプロセスを交換しないでください。 それで混乱しています...vm.swappiness=0スワップを完全に無効にする必要がありますか、それとも必要なときにスワップを使い続けるべきですか? 私のサーバーのカーネルバージョン: 4.18(アルマLinux 8) 3.10(セントOS 7)

Admin