最新記事

Linuxは、マルチタスクをサポートしていないCPUでマルチタスクをどのように実装しますか?
linux
linux-kernel

Linuxは、マルチタスクをサポートしていないCPUでマルチタスクをどのように実装しますか?

私はLinuxがマルチタスクをサポートしていないCPUで実行できると聞きました。 しかし、コアが1つだけでマルチタスクがサポートされていない場合、Linuxはどのようにマルチタスクを実装しますか? それぞれ終了するのに1時間かかる2つのプログラムを実行したいとしましょう。 Linuxで約100ミリ秒後に最初のプログラムを一時停止して2番目のプログラムに切り替えるには? 次の2つの状況を考えることができます。 複数のジョブを同時に実行することはできません。 Linuxはハードウェアタイマーを使用して実行中のプロセスを停止します。

Admin

FedoraはLinuxカーネル6.7.Xを起動できず、カーネルを選択するには2回起動する必要があります。
fedora
linux-kernel
boot
nvidia
startup

FedoraはLinuxカーネル6.7.Xを起動できず、カーネルを選択するには2回起動する必要があります。

Fedora 39を実行する新しく作成されたデスクトップがあります。 (NVidia GPUがあることを知っておくことが重要かもしれません)。数日前にこのようなことが起こりました。 一般的なシステムアップデートをインストールしました。 無関係な理由でコンピュータを再起動しました。 * OSがロードされたら、空白の画面で停止し、端末の下線が点滅します。 再起動後、3つのコアと「Rescue」というコア1つを選択できました。 6.7.13であり、そのうちの2つは6.6.Xとマークされています。 6.6.X 1 つだけが正常に起動し(修復バージョンを含む)、コンピュータを使用できました。他の人は端末の下線をクリックします。 その時点から、通常はコンピュータを起動し、ターミナルの下線を押して再起動し、カーネルを選択してから正しいカーネルを選択する必要があります。 今日、私はカーネル6.7.14を含むより多くのアップデートをインストールしました。同じことが起こりましたが、今は良い6.6.X第三カーネルの選択は、2番目ではなくドロップダウンに配置されます。私には時間がかかりすぎて、その人も失うまで幸運ではありません。 一人の人が何らかの形でNvidiaを非難する以外に、これが原因が何であるかわかりません。とにかく、この奇妙な起動問題を防ぐためのオプションは何ですか? *「関連していない理由」と言われた内容がおかしい。 Xの動作が中断され、Xベースのウィンドウマネージャを使用できなくなりました。何が起こっているのか、これが関係しているのかはわかりませんが、現在起動できるカーネルではこれは発生しません。しかし、Waylandウィンドウマネージャは選択できません。

Admin

古いPop OSカーネルを消去する方法
linux-kernel
pop-os

古いPop OSカーネルを消去する方法

私は現在Pop OSを使用しており、使用してから1年ほどになりました。しばらく前に、パッケージバージョンの不一致の問題が発生しました。どのように修正するのか見て、修正しようとしましたが、あまりにも頭が痛くてただOSを初期化する方が良いと思いました。特に特に大切なことがなくて、これが私にとっては簡単な選択だった。 ただし、ブータブルドライブを使用してPop OSを再インストールしようとすると(回復パーティションがない)、元のファイルとカーネルの両方を消去しようとすると完了できないというエラーが発生する問題が発生しました。動作します。私はその時に非常にイライラして、私の人生の他のものに忙しかったので、動作しているように見える既存のデバイスの隣に新しいデバイスをインストールすることにしました。数ヶ月前のことで、具体的なミスや私が今の位置に来るまで正確に何をしたのかは覚えていませんが、ひどい背景にもかかわらず、すべてのことが順調に進んだということだけ申し上げれば十分です。 しかし、今は欲しいなら、ちょっとした「春の大掃除」をして状況を正したいと思います。興味のあるファイルをバックアップし、目標はPop OSの新しいコピーを再インストールする前にインストールを完全に削除し、SSDとハードドライブをフォーマットすることです。 すべての意図と目的のために、私はまだLinuxとオペレーティングシステム全体に慣れていないので、今後進むときに考慮すべき事項についてアドバイスしてくれる人なら本当にありがとうございます。以前のカーネルを消去しようとしたときにこのエラーが発生する理由を知っている人がいる場合は、それに対する提案も大いに感謝します。 この質問に適切な情報がない場合はお詫び申し上げます。私は私が何を提供できるかわからないことを認めますが、私ができることを提供しようとします。

Admin

すべての最新のディストリビューションとカーネルで画面の欠陥/アーティファクト/点滅。半年以上の解決策が見つかりませんでした[閉じる]
linux-kernel
hardware
intel
intel-graphics
optimus

すべての最新のディストリビューションとカーネルで画面の欠陥/アーティファクト/点滅。半年以上の解決策が見つかりませんでした[閉じる]

閉鎖。質問は〜です。無関係。現時点では回答は許可されていません。 この問題は複数のウェブサイトに公開。クロスポストはお勧めできません。サポートセンターそしてコミュニティFAQより多くの情報を知りたいです。 閉鎖3ヶ月前。 この問題を改善する 問題の説明: 地平線、欠陥、黒または白の水平バーが画面にランダムに表示されます。それは非常にランダムです。時にはほとんど目立たない時もあり、時には下の2つの動画のようです。 この問題はほぼ1年間続きました。カーネル5.15-5.19頃に現れ始めたと思います。 BIOS、リブートメニュー、grub、またはWindowsに欠陥はありません。すべてが完璧です。 外部モニタのLinuxおよびNVIDIAグラフィックにも問題がないようです。 ビデオ: Universal KernelのPop OS: https://www.youtube.com/watch?v=k0SSLWwTSKk Xanmod Edgeの人気オペレーティングシステム: https://www.youtube.com/watch?v=BD8Uz7lmtaY Fedora 39 KDEはオンラインです。 https://www.youtube.com/watch?v=qyZj4bB6mq8 また、Kubuntu、Mint、MXでもテストしました(ビデオはありませんが、この欠陥のないディストリビューションは見つかりませんでした)。 ラップトップ仕様: i7 8750h 16GB 2666MHz GTX 1050tiモバイル(通常、Linuxでは無効になり、内部モニタはIntelグラフィックカードに接続されています) 144Hz 1080p内部ディスプレイ Tongfang GK5CN5Z(XMG、OverPowered、Mechrevo、PCSpecialist、Illegear、BTO、HyperBook、Eluktronics、Cyber​​PowerPCでさまざまな名前で販売) 私が今まで試したこと: 複数のディストリビューション(ライブとローカル)、再インストール Intelグラフィックカードに関連するさまざまなカーネルパラメータを設定します。 max cstateは問題をわずかに軽減するようですが、他のパラメータは目立つ操作を実行しません。 6.0から6.7.2まで、さまざまなカーネルとバージョン、一般、低レイテンシ、xanmod、Liquidicインストール(約40個のカーネルテスト) ハードウェアの損傷を確認し、内部ディスプレイケーブルを再接続し、すべてが完璧に見え、Windowsで動作します。 リフレッシュ頻度の変更 LinuxでShittonパラメータを調整します。ほとんどは覚えていません。少なくとも100〜200の異なる変更を適用しました。 メモリテスト、問題なし カーネルパラメータ: intel_idle.max_cstate=1 i915.modeset=1 i915.enable_ips=0 i915.enable_psr=0 i915.enable_dc=0 intel_iommu=igfx_off i915.enable_fbc=0 ahci.mobile_lpm

Admin

sudo setuid権限を付与する方法
linux-kernel
sudo
setuid

sudo setuid権限を付与する方法

だから私は独自のLinuxディストリビューションを構築し、sudoを含む多くのものを設定しました。 shroot環境で作業すると、sudoはうまく機能します。問題は実際にディストリビューションから起動するときです。最初に/usr/bin/sudo実行可能ファイルにはsetuid権限のみが必要であることがわかったとき、「まあ、修正しやすい」と考え、続行しましたchmod s+u /usr/bin/sudo。 実行可能ファイルの権限を確認すると、ls -lsetuid権限があることが簡単に表示されます。最初にchrootを終了して確認したときに、実行可能ファイルにsteuid権限がないため、リセットしました。 chrootの内部と外部の両方にsetuid権限が表示されます。オペレーティングシステムを起動しようとすると問題が発生します。 OSは正常に起動しますが、残念ながら何らかの理由でsudo実行可能ファイルにsetuid権限がありません。私はISOを生成するために使用したgrub-mkrescueに関連していると思います。これは、ISOをビルドする前にファイルを一時ディレクトリにコピーする過程で、grub-mkrescueが権限を失った可能性があると考えているからです。私はgrubモジュールにあまり興味がありません。必要に応じて手動でコピーする簡単な方法があります。したがって、動作するソリューションがモジュールへのアクセスを失うことを意味しても問題はありません。 ISOイメージ最初にファイルを一時ディレクトリにコピーせずに、ああ、ソリューションを使用するには、ISOをGrubにパッケージ化する必要があります。他のブートローダがあることを知っているので、私が使用できる他のブートローダの提案を歓迎します。

Admin

新しいカーネルに/boot/configがありません。
rhel
linux-kernel
kernel
boot
boot-loader

新しいカーネルに/boot/configがありません。

ソースから最新のLinux 6.6.9カーネルをコンパイルしてインストールした後に実行すると、cat /boot/config-$(uname -r)エラーが発生します cat: /boot/config-6.6.9: No such file or directory。設定ファイルがありません。インストール用にコンパイルする前に、古いカーネル設定を新しいカーネルソースディレクトリにコピーしました(、ran、cp -v /boot/config-$(uname -r) .configranを使用)。ただし、古いカーネルの設定ファイルがあります。なぜですか?make menuconfigmakemake modules_installmake install オペレーティングシステム:AlmaLinux 9.3 x86-64

Admin

qemu VMから既存のLinuxインストールを起動します。
linux-kernel
qemu
kvm
uefi

qemu VMから既存のLinuxインストールを起動します。

私のコンピュータには2つの別々のアーチマウントがあり、そのうちの1つはNVME別の車を運転する/dev/sda(EFI存在する/dev/sda1そして根存在する/dev/sda2)。アーチを始めよう/dev/sdaアーチの中からNVME次のコマンドを使用してください sudo qemu-system-x86_64 \ -enable-kvm \ -m 4096 \ -cpu host \ -smp 6 \ -drive file=/dev/sda1,format=raw \ -drive file=/dev/sda2,format=raw \ -drive if=pflash,format=raw,readonly=on,file=/usr/share/ovmf/x64/OVMF_CODE.fd \ -drive if=pflash,format=raw,file=/usr/share/ovmf/x64/OVMF_VARS.fd \ -vga virtio \ -display sdl \ -net nic \ -boot order=c\ -d guest_errors OVMF_CODE.fd と OVMF_VARS.fd が正しい場所にあり、有効です。 幼虫ゲストとホストの両方にインストール /dev/sdaパーティションがマウント解除されました。 また、実行せずにsudoログインしたユーザーがovmfファイルにアクセスできるようにしました。 また、ファイル-biosオプションを試しました。OVMF.fd しかし、コマンドを実行すると空の画面のみが表示され、プロセスが中断されるようです。この問題を解決する方法を教えてください。

Admin

stat(2) 書き込み後の読み取りは write(2) と一致しますか?
filesystems
linux-kernel
posix
system-calls
file-metadata

stat(2) 書き込み後の読み取りは write(2) と一致しますか?

man 2 write状態: POSIX では、write() 戻り後に発生する read(2) が新しいデータを返すことを証明できなければなりません。すべてのファイルシステムがPOSIXと互換性があるわけではありません。 stat(2)Linuxでは、これはfstat(2)特にメンバーにも適用されますかstat.st_size? 具体的には、statまたはfstatを使用してファイルを開き、そのファイルに948427バイトを書き込むと、948427バイトがO_CREAT表示されますか? (もしそうなら、これはPOSIXファイルシステムの保証ですか、それとも通常のLinuxファイルシステムが実際に提供しているのでしょうか、それとも他のファイルシステムではないいくつかのファイルシステムの属性ですか?)st_size

Admin

nftables:特定のフックに対してさまざまな種類のチェーンが評価されますか?
linux-kernel
nftables
netfilter

nftables:特定のフックに対してさまざまな種類のチェーンが評価されますか?

に関する特集記事です。nftablesチェーンタイプLinuxカーネルから。 私は彼らがどのように処理されるのか理解していません。私はしばらくカーネルコードを見ましたが、nftables "chain"がフックエントリ(struct netns_nf.hooks_ipv4たとえばIPv4の場合)としてnetnsに接続されているようです。 filterチェーンを作成または処理するときに、チェーンの「タイプ」(、、、または)に対する差別はありませんnat。すべてのチェーンタイプは単にフック項目で埋められ、機能のみタイプによってroute異なります。struct nf_hook_entry.hookたとえば、チェーン関数であると思いましたnf_hook_entry.hook。nft_nat_do_chaintype nat 見ているこのテーブルには、ファミリー、フック、およびタイプの組み合わせが含まれています。input、フックに2つのチェーンを追加するとします。 1つはあり、type filterもう1つはです。type natさらに、両方のチェーンは同じ優先順位で生成されます。 質問: 同じフックに2つのチェーンがあり、タイプのみが異なる仮想シナリオは可能ですか?そうでなければ、カーネルはこのようなことが起こらないようにする場所はどこですか? 可能であれば、これら2つのチェーンが実行される順序はどのように決定されますか?type nat以前のチェーンのように実行されていませんかtype filter?それとも、最初と2番目に追加されたチェーン(カーネルバージョンなど)によって異なりますか? 持つ同じ優先順位を持つチェーンに対する優れた関連回答しかし、具体的な状況は、2つのチェーンがあるということです。同じ種類。 この質問をする究極の目的は、nftablesに「タイプ」という概念がある理由を理解することです。 たとえば、type routeチェーンのハンドラがip_route_me_harder(冗談じゃない!)パケットの一部のフィールドがチェーンによって変更されると、これはチェーン固有ですtype route。type nat優先順位にいくつかの制限があることがわかっています。type natチェーン店ということも読んでみました。ただ接続の最初のパケットで呼び出されますが、コードのどこにも正確な制限が見つかりません(ただしnf_nat_inet_fn?かもしれませんnf_nat_core.c)。 typenftablesチェーンがカーネルでどのように処理されるのか、そしてその場所について教えてくれるアドバイスをいただきありがとうございます。 編集する: この答えは、nftables "type"がほとんどの文体選択であることを示すようです。、しかし、このタイプの特別な動作を指摘するがroute。もう一つの答えはもっと混乱しています私のものWatersはNATルールをチェーンに追加できないと言いますがtype filter、これが真であれば本当に混乱します。そのような制限はどこに実装されていますか? (ユーザースペースでのみ?)

Admin

febootstrapを使用してqemu用の屋根イメージを作成する方法
linux
linux-kernel
qemu

febootstrapを使用してqemu用の屋根イメージを作成する方法

febootstrapを使用してqemu-kvmの屋根イメージを作成しようとしています。 まず、次のコマンドを使用して屋根を作成しました。 febootstrap -i coreutils -i vim centos79 centos_7.9 https://mirrors.163.com/centos/7/os/x86_64/ その後、次のようなディレクトリを取得しました。 > tree centos_7.9/ -L 1 centos_7.9/ ├── bin -> usr/bin ├── boot ├── dev ├── etc ├── home ├── lib -> usr/lib ├── lib64 -> usr/lib64 ├── media ├── mnt ├── opt ├── proc ├── root ├── run ├── sbin -> usr/sbin ├── srv ├── sys ├── tmp ├── usr └── var 次に、qemu イメージを作成し、centos_7.9 のすべてのファイルをイメージにコピーしました。 qemu-img create centos79.img 1g mkfs.ext4 centos79.img mkdir mnt_dir sudo mount -o loop centos79.img mnt_dir cp centos_7.9/* mnt_dir umount mnt_dir しかし、私が走るとき qemu-system-x86_64 -kernel /boot/vmlinuz-`uname -r` \ -hda=centos79.img \ -append "root=/dev/sda console=ttyS0" \ -enable-kvm -nographic または qemu-system-x86_64 -kernel /boot/vmlinuz-`uname -r` \ -drive file=centos79.img \ -append "root=/dev/hda console=ttyS0" \ -enable-kvm -nographic 報告した [ 1.766919] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) [ 1.767906] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.14.0-3.1.0.kwai+ #10 [ 1.767906] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 0.5.1 01/01/2011 [ 1.767906] Call Trace: [ 1.767906] dump_stack_lvl+0x34/0x48 [ 1.767906] panic+0xfb/0x2cd [ 1.767906] mount_block_root+0x28c/0x29f [ 1.767906] prepare_namespace+0x13b/0x16a [ 1.767906] kernel_init_freeable+0x17f/0x1a4 [ 1.767906] ? rest_init+0xc0/0xc0 [ 1.767906] kernel_init+0x16/0x130 [ 1.767906] ret_from_fork+0x22/0x30 [ 1.767906] Kernel Offset: disabled [ 1.767906] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]--- この問題を解決するにはどうすればよいですか?

Admin

カーネル/パッケージの更新後に起動できない - snd-hda intel - HDMI/DPには入札にgfxドライバが必要
linux-kernel
boot

カーネル/パッケージの更新後に起動できない - snd-hda intel - HDMI/DPには入札にgfxドライバが必要

Macbook Air 2013でTuxedoオペレーティングシステムを使用してください。正常に動作しましたが、OSでカーネルを更新できるようにすると、次の結果が表示されます。 スタート画面 カーネルに "acpi=!Darwin" を追加してみたところ、irq 0 メッセージが削除されました。ただし、まだ「gfxドライババインディングが必要です」というメッセージが表示され、起動できません。カーネルの切り替えも試してみましたが、役に立ちませんでした。 lspci どんな助けでも大変感謝します。現在は、grubとルートターミナルにのみアクセスできます。

Admin