はじめに こんにちは!この記事は、ドコモアドベントカレンダー2022の25日目の記事になります。 投稿者はNTTドコモ クロステック開発部の藤枝です! 皆さん突然ですが「メタバース」や「デジタルツイン」というワードを聞いたことありますでしょうか?? メタバースは、最近旧Facebookが社名をMetaに変えて話題になりましたが、「超越した」という意味のメタ(Meta)に、世界を意味する「バース(verse)」をつなげて作られた言葉です。 いわゆるゲームの世界の様な仮想空間でもう一人の自分(アバター)を生活させるといった世界観のものです。 コミュニケーションやビジネスなどの様々なものが提供価値と…
環境構築の部分を一応メモ。【2/3】 前回 hitkoto.hatenablog.com
概要 LinuxではNATやファイアウォールなどのパケットの扱いを担当するカーネルの機能としてnetfilterというものが搭載されており、特にそのconnection trackingの機能を理解することがLinuxのNAT動作の理解には不可欠です。また、安価な市販ルーターの多くはLinuxを搭載しているため、netfilterを理解することは市販ルーターの動作を理解することにもつながります。 NAT動作タイプ(cone NAT, symmetric NATあるいはEIM/APDFなどの用語)については以前の記事(NATタイプ、ポートセービングIPマスカレード、UDPホールパンチング、STU…
今回紹介するのは以下 ・ハードウェアの基本 ・ハードディスクとデバイスファイル・デバイスドライバ ・パーティションについて LPI Linuxエッセンシャル試験対応 しっかりわかるLinux入門作者:株式会社ティエスイー,海堂正裕,平井達也,上村斎文秀和システムAmazonLPI公式認定 Linux Essentials 合格テキスト&問題集作者:長原 宏治日本能率協会マネジメントセンターAmazon
はじめに こちらの記事を参考にカーネルモジュール自作やってみます カーネルモジュール作成によるlinuxカーネル開発入門 - 第一回 hello world - 覚書 (hatenablog.com) 実行環境 こんな感じ $ uname -aLinux Ubuntu22 6.2.0-39-generic #40~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 16 10:53:04 UTC 2 x86_64 x86_64 x86_64 GNU/Linux CPUの仮想化機能、BIOSの仮想化機能が有効になっているかの確認。 1つ目のコマンドは1以上になっ…
仕事でeBPFについて調査したり触ってみたりしているのですが、Linuxカーネル初心者の私にはeBPF嬉しさが今ひとつ理解できていないんですよね… 最近、Linux doundationからeBPFに関するレポートが出ていました The_State_of_eBPF_010824.pdf (linuxfoundation.org) このレポートの中にも、eBPFがなかったらカーネルの機能を拡張するには、カーネルモジュールを使うか、カーネル開発コミュニティに拡張してもらうしかなくて、 カーネルモジュールはマシンをクラッシュさせる恐れがあるし、開発コミュニティに拡張してもらうには何年もかかっちゃうよ…
Raspberry Pi に接続したLCD1602キャラクタデバイスのデバイスドライバを自作するために、 まずは、ローダブルカーネルモジュールを作ろうと思います。 最終的には、カーネルに組み込んでRaspberry Pi の電源ON時から、LCD1602キャラクタデバイスを制御しようと思っていますが、 ここでは、ローダブルカーネルモジュールの作り方とアクセス確認のやり方について書いていきます。 使用する環境は、LinuxのUbuntu 20.04 です。 ローダブルカーネルモジュールとは? ローダブルカーネルモジュール作成に必要な知識 ローダブルカーネルモジュールのソースコードサンプル ローダ…
概要 NAT動作をめぐる誤解まとめ - turgenev’s blogでは、UDPホールパンチングのしやすさとポートの節約を両立するには「Address Dependentなマッピングを保持しつつEIM風に動作するADFなNAT」が一番いいという話を書きました。これだとv6プラスやOCNバーチャルコネクトでもNintendo SwitchのNAT判定が「タイプA」になります。 この記事では、Symmetric NAT/Full Cone NATをサポートするruby製NATであるrat(GitHub - kazuho/rat: NAT written in pure ruby)を手元で動かし、…
こんにちはAnyTechの岩井です。今回は簡単なデバイスドライバをC言語で作成し、それをC++で呼び出してみるところまでやってみようと思います。 背景 AIが製造現場で普及していく中で、AIを動かすオンプレサーバからアナログ/デジタル入出力を行って外部機器と連携をしてほしいという話が出てくるようになってきました。PCから信号の入出力を行うAD/DAボードやDIOボードは昔から様々な製品が出ているので、サーバにボードを取り付けることでハードウェア的には外部機器との連携はできますが、ソフト側ではボードのデバイスドライバが必要です。最近はボードのメーカからUbuntu用のドライバも用意されてますが、…
登録日: 2024-02-02 更新日: 2024-03-14 「Xubuntu 22.04 LTS」および「Windows11」(22H2) の「VirtualBox 7.0」の仮想マシンに、色々なLinux ディストリビューションをインストールして、自分に最適なものはないか試しています。 開発環境では、それらの仮想マシン(ボックス)の管理に「Vagrant」(ベイグラント) というツールが、よく使われています。 - 実践編1 の投稿で、「Xubuntu 22.04.3 LTS」の「VirtualBox 7.0.10」にて「Vagrant」を使えるようにしました。 実践編3 と 実践編4 の…
はじめに free5GCとUERANSIMによるワンコール試験の実施する ワンコール試験で、UEの認証・登録・セッション確立・・経路確立・パケット送信(ping疎通)まで確認する。 free5GCとUERANSIMはHelm chartを用いて構築する。 環境 Ubuntu20.04.1 Kubernetes 1.25.5. CRI-O 1.25.2 towards5gs-helm 1.1.7 github.com ネットワーク構成 free5GCとUERANSIMの構築 github.com 上記を参考に構築を行う。 free5GCの構築 gtp5g カーネルモジュールのインストール Kub…
こんにちは、楠川です。 お正月休みは何をして過ごしましたか? 私はCyberGearと共に過ごしたお正月となりました。 CyberGearは何かというと、Xiaomi社が販売している低価格のモーターで、速度が比較的遅い代わりに強いトルクで位置決めできるのが魅力のモータです。 Xiaomiサイトより そんな魅力に惹かれて個人で買う人も続出中(?)。 会社内でも購入している人がちらほらいて、2024/1/9には、中国通販大手のAliExpressでは品切れ中との噂もありました。 X内で行われた「#シャオミさん頼むからこの製品日本に投入してください選手権」では、一部の人たちに話題になっていたのが記憶…
xclock 古の xclock で、xclock -digital -update 1 とすると、デジタル表示で秒も出せることを知った。-update 1 をつけないと、一分に一度しか再描画してくれない。これも昔、グラフィックスが重かった時代の名残だろう。 読んだ PC watch "ミニ PC なのに SFP+、U.2、PCIe を飲み込むモンスター! 「MINISFORUM MS-01」" 2.5 GbE (RJ45) x 2 + SFP+ x 2 ですごいけど、10 Gbps ルータを作るだけなら R86S のほうがもっと安いからなあ。PCIe や U.2 が必要な用途じゃないと選びに…
wireguard の起動と削除 wireguardを指定して起動したい wg quick のようなスクリプトが提供されてない環境では、明示的にリンクをUp/Downする必要がある wg は起動スクリプトでしかなく、Wiregudardはカーネルモジュールであり、リンクとして動作してる。そのため、リンクのアップダウンで対応する。 設定と起動 WG_IF=wg0 WG_LOCAL_IPv4=172.16.1.1/24 WG_LOCAL_IPv6=fc02:1234:e801:b00b::1/64 ip link add dev $WG_IF type wireguard ip addr add …
前回までは、デバイスとデバイスコントーラについて学びました。 nda-desu.hatenablog.com 今回は、デバイスドライバーとデバイス独立の入出力処理について理解していきます。 計算機システム概論 第27回「デバイスとファイルの管理:デバイスドライバーとデバイス独立の入出力処理」 - YouTube 本記事は、↑の動画の視聴録です。 デバイスドライバ まずは、デバイスドライバについてまとめていきます。 デバイスコントローラはデバイスにより異なる。 前回、デバイスコントーラについて整理しましたが、デバイスにはデバイスコントローラがあり、デバイスコントーラを通じてデータのやりとりをする…
12/9に「Learning eBPF」という本の和訳版、「入門eBPF」という本をudzuraさんと2人で翻訳しましたので宣伝しておきます。 原著はこちら Learning eBPF (English Edition)作者:Rice, LizO'Reilly MediaAmazon 和訳版はこちら 入門 eBPF ―Linuxカーネルの可視化と機能拡張作者:Liz Riceオーム社Amazon どういう本か Linuxカーネルの機能の一つであるeBPFについての入門書です。ユーザはC言語やPythonなどでプログラムを書いて、それをカーネル内に読み込んで実行させるという機能です。カーネルコー…