並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 604件

新着順 人気順

QEMUの検索結果41 - 80 件 / 604件

  • Apple M1チップ搭載のMacでARM版Windows 10を動作させるQEMUラッパー「ACVM」がリリース。

    Apple M1チップ搭載のMacでARM版Windows 10を動作させるQEMUラッパー「ACVM」がリリースされています。詳細は以下から。 2020年11月、AWSエンジニアのAlexander Grafさんは、AppleのHypervisorフレームワーク(以下、hvf)とCPUエミュレータQEMUを利用し、Appleが販売を開始したApple Silicon「Apple M1」チップ搭載のMacで、ARM版のWindows 10 (Insider Preview)を動作させることに成功したと発表し、QEMU用のhvfパッチが公開されていましたが、 元Appleのインターン生で現在はRobinhoodでiOSエンジニアを務めるKhaos Tianさんが、このhvfパッチを当てたQEMUをラッパーし、Apple Silicon M1搭載のMacに簡単に「Windows 10 on A

      Apple M1チップ搭載のMacでARM版Windows 10を動作させるQEMUラッパー「ACVM」がリリース。
    • Zig で簡単な JSON パーサを書いてみた。

      #include <stdio.h> int main(int argc, char* argv[]) { int i; for (i = 1; i <= 100; i++) { if (i % 15 == 0) puts("FizzBuzz"); else if (i % 15 == 0) puts("FizzBuzz"); else if (i % 3 == 0) puts("Fizz"); else if (i % 5 == 0) puts("Buzz"); else printf("%d\n", i); } return 0; } fn main() { let mut x = 1; while x <= 100 { if x % 15 == 0 { println!("FizzBuzz"); } else if x % 3 == 0 { println!("Fizz"); } e

        Zig で簡単な JSON パーサを書いてみた。
      • フルスクラッチでQEMU型自作エミュレータはどう作る? Rustを使った自作バイナリ変換型シミュレータ

        Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。msyksphinz氏は、自作エミュレータで得た学びについて発表しました。全2回。前半は、自作エミュレータの実装とその結果について。 実機が存在しなくてもエミュレータを使えば動きの中身が見える msyksphinz氏(以下、msyksphinz):「Rustで作るフルスクラッチQEMU型エミュレータ」と題して、発表をします。 簡単に自己紹介をさせてください。Twitterだとこういうアカウントでいろいろと活動しています。趣味で「FPGA開発日記」というブログを書いていて、RISC-V、FPGA、CPU、低レイヤプログラミングなど、興味のあるものの記事を書いています。本業はハードウェア開発エンジニアをしていて、汎用CPUの設計などの仕事をしています。 今回はRustとい

          フルスクラッチでQEMU型自作エミュレータはどう作る? Rustを使った自作バイナリ変換型シミュレータ
        • Go: A Documentary

          Go: A Documentary by Changkun Ou <changkun.de> (and many inputs from contributors) This document collects many interesting (publicly observable) issues, discussions, proposals, CLs, and talks from the Go development process, which intends to offer a comprehensive reference of the Go history. Disclaimer Most of the texts are written as subjective understanding based on public sources Factual and ty

          • Rustで作るフルスクラッチQEMU型エミュレータ

            Introduction of Technologies and People Supporting RISC-V Ecosystem

              Rustで作るフルスクラッチQEMU型エミュレータ
            • Linuxの起動を29万2612回も繰り返して1000回に1回発生するバグを見つけることに成功

              Red Hat Linuxの開発者であるリチャード・M・W・ジョーンズ氏が、Linux v6.4の起動時にハングアップするバグがあることに気づき、Linuxを29万2612回も再起動するテストを行ったそうです。 I booted Linux 292,612 times | Richard WM Jones https://rwmj.wordpress.com/2023/06/14/i-booted-linux-292612-times/ Dev Boots Linux 292,612 Times to Find Intel, AMD Kernel Bug | Tom's Hardware https://www.tomshardware.com/news/dev-boots-linux-292612-times-for-1-in-1000-kernel-bug ジョーンズ氏が起動時のハング

                Linuxの起動を29万2612回も繰り返して1000回に1回発生するバグを見つけることに成功
              • BuildJetを使ってamd64とarm64に対応したコンテナイメージを今までの8倍速く作る - 風に吹かれても

                三行まとめ BuildJet が提供するArmマシンを用いてArmで動くイメージを作成する Docker Buildx を用いると複数のイメージに同じタグを貼ることができる Actionsのx86_64マシンでamd64で動くイメージを、BuildJetのArmマシンでarm64で動くイメージをそれぞれ作成してくっつけた 三行まとめ はじめに BuildJetとは 方法 BuildJetに登録する BuildJetを有効にする runs-onにBuildJetのランナーを指定する 複数のイメージを束ねるマニフェストを作る めでたしめでたし 実際に使ってみる 速度比較 まとめ はじめに Apple Silicon搭載マシンの登場、Raspberry Piの普及などArmが身近になってきた人も多いのではないでしょうか。 Raspberry Pi上で動くKubernetesなどを運用する際にはa

                  BuildJetを使ってamd64とarm64に対応したコンテナイメージを今までの8倍速く作る - 風に吹かれても
                • Dockerって何? って聞かれたときの解説、の解説

                  TL;DR Dockerは仮想化であるコンテナの実装の一種 ただし、広義のDockerはOCI系コンテナの総称 アプリの配布と実行の仕組みと思えばOK コンテナによりIaCや一貫したデプロイ、H/Wの効率的な利用がしやすくなる ※ コメントでいくつか指摘があったので記事を更新しました。ご指摘ありがとうございました! はじめに おそらく過去幾度となく生み出されたであろうDocker解説記事となります。正確には解説動画の解説記事。 というのも、Dockerあるいはコンテナはもはや当たり前、と言えるほど普及してるようにもSNSやブログとかだけ見てると思えますが、実際には話題は知ってるけど良く分かってない/業務で今度使う事を検討したいけどつまり何なの? って人もまだまだ多いです。 なので私が 「Dockerって何?」 と聞かれたとき答えてる内容を動画にしてみました。技術的な詳細を解説というよりは

                    Dockerって何? って聞かれたときの解説、の解説
                  • 第590回 Windows/macOS/Linuxで使える仮想マシン管理ツール『multipass』 | gihyo.jp

                    multipassはWindows/macOS/Linuxで使える仮想マシン管理ツールです。特にUbuntuサーバーのインストールされた仮想マシンを気軽に用意したい時に、その効果を発揮します。今回は「オンプレミスで動くなんちゃってAWS EC2」的に利用できるmultipassのかんたんな使い方を紹介しましょう。 LXDのようなインターフェースを備えたCLIツール multipassはCanonicalが開発している、Windows/macOS/Linuxで使える仮想マシン管理ツールです。まだ「ベータ版」という扱いではあるものの、次のような機能を備えており、気軽にUbuntuがインストールされたサーバーインスタンスを構築できるのが特徴です。 CLIをメインにしたUI コマンド1つで仮想マシンを作成&起動できる 仮想マシンの作成・起動・停止・削除に加えて、ログインやファイルのやり取りもコマン

                      第590回 Windows/macOS/Linuxで使える仮想マシン管理ツール『multipass』 | gihyo.jp
                    • Rust で vmlinux を起動できる x86 ブートローダーを作ってみた話 - Qiita

                      Rust を勉強し始めたので冬休みの間に Linux の boot protocol を喋る x86ブートローダー(自称:Krabs)を作ってみました。この記事では、開発に至った動機や、作成した Krabs の特徴とか仕組み、開発中におきた嬉しかったことなどについて書きたいと思います。 Krabs とは Krabs は、Rustで書かれた x86/x86_64(Legacy BIOS) 向けの4段ロケット構成のチェインローダーです。 bzip2 で圧縮された ELF 形式のカーネルを起動できます。bzip2 圧縮されたイメージを解凍して、次に展開してでてきた ELF イメージを再配置してからの、カーネルの起動となります。 内部では libbzip2 の C ライブラリを利用していますが、それ以外は全て Rust で記述されています。 GitHub - o8vm/krabs: An x86

                        Rust で vmlinux を起動できる x86 ブートローダーを作ってみた話 - Qiita
                      • unameコマンドから始めるデバッグ&カーネルハック入門 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

                        この記事はLinux Advent Calendar 2019の1日目の記事です。 はじめに 環境 おことわり uname(1) uname(1)が出力する内容 strace(1) gdb(1) bpftrace systemtap Kernel Hack Livepatch おまけ RHEL 8.1 CentOS 8 まとめ はじめに 本記事ではLinuxサーバのホスト名、Linuxカーネルのバージョン、cpuアーキテクチャなどのシステム情報を表示するuname(1)を利用してLinux環境でのデバッグとカーネルハックについて説明していきます。本記事ではコマンドやツールの使い方の説明ではなくて、それらを使ってどのようにデバッグするのかというところを説明します。 環境 ディストリビューションにはFedora 31(x86_64)を利用します。動作環境はQEMUやlibvirt、Oracle

                          unameコマンドから始めるデバッグ&カーネルハック入門 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
                        • 【作業効率化】4年目エンジニアが「使わなくなった」アプリを供養する - Qiita

                          はじめに よくQiitaでおすすめアプリとかの記事を見かけますが 逆に使わなくなったアプリの紹介記事ってなくね? と思い今その勢いで本記事を書き進めています。需要があるかはしーらないっ。 本記事では、今年で4年目のエンジニアが作業効率を追い求める中で淘汰されていったアプリたちを紹介します。 ちなみに当方Macユーザです。 エディタ Visual Studio Code 3年目くらいまでは結構使ってました。 settings.jsonやkeybindings.jsonをdotfilesで管理してみたいなこともするくらいには使ってました。 が、何かのタイミングでvimに興味を持ち、vimを使いはじめてから徐々に使わなくなってゆきました。 vimに興味を持った最初の頃はVSCの拡張でvimがあったので、それを使ってました。 VSCでvimの操作を再現できる拡張です。 しかし vimと言えば学習コ

                            【作業効率化】4年目エンジニアが「使わなくなった」アプリを供養する - Qiita
                          • macOSのコンテナ開発環境におけるVirtualization frameworkの採用 - cockscomblog?

                            Docker Desktop for Mac Docker Desktop for Macでは、仮想マシン上のLinuxでDockerを動かしている。仮想マシンにはhyperkitやQEMUが使われていた。が4.14.0からVirtualization frameworkがデフォルトで使われる。 Set Virtualization framework as the default hypervisor for macOS >= 12.5. Virtualization frameworkはmacOS内蔵の仕組みで、macOS 11で導入されてから、徐々に機能が拡張されている。Virtualization frameworkは高レベルなAPIで、より低レベルなAPIとしてmacOS 10.10から搭載されているHypervisor frameworkがあり、おそらくVirtualizati

                              macOSのコンテナ開発環境におけるVirtualization frameworkの採用 - cockscomblog?
                            • Docker V2 Github Action is Now GA | Docker

                              Docker is happy to announce the GA of our V2 Github Action. We’ve been working with @crazy-max over the last few months along with getting feedback from the wider community on how we can improve our existing Github Action. We have now moved from our single action to a clearer division and advanced set of options that not only allow you to just build & push but also support features like multiple a

                                Docker V2 Github Action is Now GA | Docker
                              • DockerのデフォルトランタイムをrunCからKata containers + Firecrackerに変えるのが簡単すぎてビビった話 - inductor's blog

                                はじめに これはコンテナランタイム好きのオタク記事です。DockerでrunC以外のランタイムを動かしてみようと思ってはいたもののずっとやれてなかったので、実際にやってみたら超簡単でした、という記事です。 ランタイムを変える意味について Dockerでは、コンテナを作成する機能をrunCという低レベルコンテナランタイムを用いて実現しています。 runCではLinuxカーネルの機能を呼び出すためにホストOSの特権を利用しますが、これはrunCの命令を実行する瞬間に悪意のあるコードを実行されると、ホストの特権を攻撃者に奪われてしまうリスクもあります。詳しくはrunCのこのへんとかを読んでみるとおもしろいかもしれません(?) ところで、runCというランタイムはOCIの標準仕様に基づいて作られています(厳密には、LXCを置き換えるために作られたrunCが持っている機能を標準化したものがOCIとい

                                  DockerのデフォルトランタイムをrunCからKata containers + Firecrackerに変えるのが簡単すぎてビビった話 - inductor's blog
                                • UTM

                                  Windows. Linux. Meet Apple Silicon. UTM employs Apple's Hypervisor virtualization framework to run ARM64 operating systems on Apple Silicon at near native speeds. On Intel Macs, x86/x64 operating system can be virtualized. In addition, lower performance emulation is available to run x86/x64 on Apple Silicon as well as ARM64 on Intel. For developers and enthusiasts, there are dozens of other emulat

                                  • 商業誌を20冊以上書いたボクがたどり着いたChromebookのテキストエディタ

                                    「Chromebook上でWindowsを動かしてみた(QEMU/KVM)」に続き、Chromebookネタです。Chromebookを使い込んでいくと悩ましいのが「どのテキストエディタが良いの?」と言う問題。Chromebookでおおむね満足できる環境にたどり着いたので共有します。テキストエディタに求めることは人それぞれですが、ChromebookでテキストやMarkdownを書く、誰かの何かに役立てば幸いです。

                                      商業誌を20冊以上書いたボクがたどり着いたChromebookのテキストエディタ
                                    • Mac で始める「ゼロからのOS自作入門」 - Qiita

                                      Mac で「ゼロからのOS自作入門」の「8.7 メモリ管理に挑戦」まで進められたので、ひとまずそこまでの手順をメモとして残しておきます。この環境構築方法で本の最後まで進められるかどうかはまだわかりません。 環境は macOS BigSur(11.4), CPU は Intel でも Apple Silicon でも OK です。Homebrew はすでにインストールされているものとします。 PATH にいろいろ追加していきますが、適宜 .zshrc 等の PATH の設定にも追加してください。 EDK II の準備 後でインストールする binutils がすでにインストールされ PATH に追加されていると失敗するので注意してください。 $ cd $HOME $ git clone https://github.com/tianocore/edk2.git $ cd edk2 $ git

                                        Mac で始める「ゼロからのOS自作入門」 - Qiita
                                      • Go 1.17連載が始まります: コンパイラとgo mod | フューチャー技術ブログ

                                        また毎回恒例のGo 1.17リリースパーティも開催予定です。ぜひご参加ください。 コンパイラ関数呼び出しが5%高速化1.16の時に予告されていたレジスタベースの関数呼び出しが入りました。呼び出し速度が5%、バイナリサイズが2%改善されました。特にコードの変更なく恩恵に授かれます。 あとはpanic時のスタックトレースの表示が改善され、今まで16進数で表示されていたのが改善されたらしいのですが、よくわかりませんでした。16進数は出なくなりましたが、試したが、…となるだけでした。 クロージャを含む関数がインライン展開されるようにもなりました。これもコード修正必要なく、パフォーマンスアップにつながる可能性があります。 なお、unsafeで怪しく引数を触ったりするとトラブルが発生する可能性がありますが、通常のGoの使用方法では問題になることはなさそうです。 build constraintのコメン

                                          Go 1.17連載が始まります: コンパイラとgo mod | フューチャー技術ブログ
                                        • ブログを毎日書き続けるためのテクニック - FPGA開発日記

                                          このブログ「FPGA開発日記」は約2100日で2000記事に到達した。特に2019年と2020年は殆どサボることなく記事を書き続けることができている。ブログの品質は置いておいて、毎日日記を書くことは何となく楽しいものだ。2015年にブログを開設したときに「よしこの日記はなるべく毎日書くようにしよう」と決めて以来休まずに書き続けることができている。 元来物書きは嫌いではない。私はエンジニアだが、仕様書を書くのもそこまで嫌いじゃない。自分の実装するものを綺麗にまとめて、「一点の曇りもなく上手くできてるやろ、ドヤ」みたいにするのは楽しいし、バグ発見の報告書とかまとめて、「回避方法は1.と2.あるけどどうする?ニヤニヤ」みたいなのも何となく楽しい。自分がバグを出すのは嫌だけど。 5年以上にわたってブログを書き続けるにあたり、これほどまでに継続することができたのはいくつかの理由がある。この記事ではブ

                                            ブログを毎日書き続けるためのテクニック - FPGA開発日記
                                          • Rubyでできる!RISC-Vシミュレータの作りかた 〜 From 4649 To HELLO WORLD 〜 - ESM アジャイル事業部 開発者ブログ

                                            HELLO WORLD〜 はじめに こんにちは、永和システムマネジメントの自作CPUおじさん、はたけやまたかし( @htkymtks )です。 今回はRubyを使った小さなRISC-Vシミュレータの作り方をご紹介します(以前もシミュレータの記事を書いたのですが、シミュレータに大幅に手を入れたので、それに対応したHDリマスター版です) リポジトリ (今回ご紹介するシミュレータのリポジトリはこちら) thata / rv32sim https://github.com/thata/rv32sim RISC-Vとは RISC-VはCPUの命令セットアーキテクチャ(ISA)のひとつで、使用料のかからないオープンソースライセンスで提供されていることや、命令セットの美しさから最近注目を集めています。 仕様 RISC-Vの仕様にはワード幅(32ビット、64ビット)や浮動小数点数サポートの有無など、いくつ

                                              Rubyでできる!RISC-Vシミュレータの作りかた 〜 From 4649 To HELLO WORLD 〜 - ESM アジャイル事業部 開発者ブログ
                                            • あなたの大事なお店のあのメニューを、「みんなのごはん」にしませんか【全国版】 - ぐるなび みんなのごはん

                                              ※こちらの記事は、4月10日に公開した記事〈あなたの大事なお店のあのメニューを、「みんなのごはん」にしませんか〉から【東京都】の店舗情報を切り分け、【全国版】(東京以外)に改定したものです 【東京版】はこちらからどうぞ ※6/2追記 4月より数多くの投稿をありがとうございました。緊急事態宣言解除により自粛期間も次の段階に入ったタイミングですが、ページのボリュームも大きいものになりましたので、今後はもともとのURLの【全国版】(※東京以外)と、上記リンクの【東京版】で更新してまいります こんにちは、「ぐるなび みんなのごはん」編集部です。突然ですが、お願いがあります。 あなたの大事なお店のこと、教えてもらえませんか。 店長さん、オーナーさん、スタッフさん、業者さん…そしてお客さん、どんな立場からでもかまいません。 あなたの人生の一部を作ってきた大切なお店は、あなたの隣人にとっては知らないお店

                                                あなたの大事なお店のあのメニューを、「みんなのごはん」にしませんか【全国版】 - ぐるなび みんなのごはん
                                              • WasmLinux: LinuxカーネルをWebAssemblyにする

                                                LinuxカーネルがWebブラウザで動いたらどう考えても面白い んだけど、そこに至るまではなかなか難しい道のりになる。その第一歩として、Linuxカーネルのユーザーランド版であるLKL( https://github.com/lkl/linux )をWebAssemblyにコンパイルして、wasm2cでC言語に変換した上、Visual Studio 2022でコンパイルしてWindows上で実行してみた。 まだWebブラウザでは動いていないが、思ったよりは簡単にWasmに移植できた(個人の感想です) ウケが良ければMUSL libc移植編 → デバイスドライバ活用編 → Webブラウザ上動作編と続ける感じで。。 EDIT: Visual Studioのスクリーンショットを撮りなおし。 memory-control はanonymousなmapしか救えないので、ここ数年スパンではエミュレーシ

                                                  WasmLinux: LinuxカーネルをWebAssemblyにする
                                                • Apple Silicon (M1/M2)MacでのVagrant+VirtualBoxの代替手段 - GMOインターネットグループ グループ研究開発本部

                                                  みなさんこんにちは、グループ研究開発本部 AI研究開発室のK.Fです。 これまで、Intel MacでVirtualBox + Vagrantを利用してCentOS 7の仮想(VM)環境を利用していたのですが、Apple Silicon MacにPCを乗り換えたので、代替方法がないか調査してみました。 結論 Ubuntu 22.04/aarch64 on multipass -> CentOS 7/x86_64 on vagrant + libvirt が最もよい 動作は少し遅いと感じることがあるが、x86_64をエミュレートしているので本番との環境差分が少なくなってうれしい 1. はじめに 筆者の環境 MacBook Pro 14 inch, M2 Pro, 32GB RAM MacOS Ventura 13.4.1 なるべくこれまで使ってきたVagrantfileを変更したくないので、

                                                    Apple Silicon (M1/M2)MacでのVagrant+VirtualBoxの代替手段 - GMOインターネットグループ グループ研究開発本部
                                                  • Red Hat Enterprise Linux 8 新機能をわかりやすく解説【RHEL8】

                                                    Red Hat Enterprise Linux 8 新機能をわかりやすく解説【RHEL8】 2019年5月16日 Linux Red Hat Enterprise Linux 8 (RHEL8)が、2019年5月7日にリリースされました。RHEL 7 のリリースが2014年6月だったので、約5年ぶりの新OSとなります。 前回のメジャーアップデートから少し間隔が空いたためか、リリースノートはなんと120ページもあります!(ちなみにRHEL 7は90ページでした) この記事では、そんな山ほどあるRHEL 8 の新機能や変更点の中から、気になるものをまとめてみました。 また、RHELのクローンである CentOS のメジャーアップデートも近いうちに行われるでしょう。CentOS8でも、これと同様の変更がなされるかと思われるので、参考にしてみてください。 パッケージ管理 DNF(YUM v4)

                                                      Red Hat Enterprise Linux 8 新機能をわかりやすく解説【RHEL8】
                                                    • 西暦3000年、地球外生命体はlinux kernelをコンパイルできるのか? - Qiita

                                                      この問いかけにまじめに考えてみる。 ほぼ全てのソースコードってランタイムなりコンパイラとして何かしら別のものに依存しているはずだけど、最終的に行き着くだろうOSとかってそもそもGitHub上に存在するのかなhttps://t.co/KNME92Qcz8 — yuta (@yuta0381) July 18, 2020 TL;DR(要約) RISC-VだったらCPUから作れそう。エミュレータのコード見て自作もできそう。 RISC-Vだったら、多分linux動かすところまで行けるよ! x86とかだったら、動かそうとするけどライブラリ古くて苦しむよ! Linux Kernelだけ見ても、GitHub上にすべての依存する「最新の」コードは存在していない。若干古かったりするので、そこらへんは地球外生命体の人に頑張ってもらうしかない。 前提条件 西暦2500年、地球人類は滅亡した(唐突)。北極には、か

                                                        西暦3000年、地球外生命体はlinux kernelをコンパイルできるのか? - Qiita
                                                      • Red Hatのエンジニアが作り始めた新しいVMM「libkrun」 コンテナに特化したミニマリストな実装とは

                                                        Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。太田氏からは、Red Hatの「libkrun」の概要と仕組みについて発表がありました。 Red Hatが新しく作ったVirtual Machine Monitorの「libkrun」 太田航平氏:これから「10分で完全理解したかったlibkrun」という話をしていきます。よろしくお願いします。 まずちょっと自己紹介をすると、太田と言います。ふだんインターネットではinductorという名前で活動していて、本職は日本ヒューレット・パッカード合同会社という会社で、DockerやKubernetesを使った基盤のアーキテクトをしています。 コミュニティ活動は「Container Runtime Meetup」とか「Cloud Native Days」というカンファレンスの

                                                          Red Hatのエンジニアが作り始めた新しいVMM「libkrun」 コンテナに特化したミニマリストな実装とは
                                                        • QEMUとGDBの連携で起こっていた壊滅的なバグ OS自作中に逆ハイゼンバグに遭遇したのでパッチを送った話

                                                          Kernel/VM探検隊は、カーネルやVM、およびその他なんでもIT技術の話題ジャンルについて誰でも何でも発表してワイワイ盛り上がろうという会です。だいみょーじん氏は、GDBでQEMUをデバッグした時に起きたバグとその解決法について発表しました。 趣味はOS自作、自動車業界でエンジニアをやっているだいみょーじん氏 だいみょーじん氏(以下、だいみょーじん):では、「QEMUのバグを見つけてパッチを送った話」をお話しします。今回の発表は、まず自己紹介をしてバグ発見の経緯をお話しして、その後にバグに関する考察と原因調査、そして修正パッチ、まとめという流れで発表をしていきます。 まずは自己紹介です。だいみょーじんと申します。自動車業界でエンジニアをやっていて、趣味はOS自作です。こんな感じのOSを作っています。最近のUEFI(Unified Extensible Firmware Interfac

                                                            QEMUとGDBの連携で起こっていた壊滅的なバグ OS自作中に逆ハイゼンバグに遭遇したのでパッチを送った話
                                                          • Rust for Linuxを手元で試す

                                                            RustをLinuxカーネルに組込みプロジェクト、Rust for Linuxが進行中です。 このプロジェクトはLinuxカーネル全体をRustで置き換えるわけではなく、第二言語としてRustを採用してデバイスドライバなどのモジュールを書くことができるようにしようというものです。 RustはOSのような低レイヤーソフトウェアを実装する言語として、C言語に代わる選択肢として注目されてきたわけですが、Linuxのような広く使われているシステムに採用されるとなればかなり熱いですね。 実際にLinuxのメインラインに取り入れられるにはまだまだ課題は多いものの、Linus氏を含むLinuxの開発者からのフィードバックも比較的ポジティブでこれからが注目されています。 そんなRust for Linuxを手元でビルドして動かしてみました。 一応、基本的な手順はレポジトリ内のドキュメントにまとまっているの

                                                              Rust for Linuxを手元で試す
                                                            • bpftraceによるGoアプリケーションのトレース|hayajo

                                                              はじめにシステムの状態を的確に捉え、運用に必要なインサイトを継続的に得るための特性は「オブザーバビリティ」と呼ばれます。オブザーバビリティを実現することで、パフォーマンスのモニタリングやトラブルシューティングを効果的に行い、システムの信頼性を高めることができます。 この重要な特性を実現する上で、eBPFやbpftraceは強力なツールとなります。 本記事では、Goアプリケーションにおけるオブザーバビリティを実現するための一つの方法として、bpftraceを用いたトレースの手法を紹介します。 内容が多いため、目次を活用して段階的に読み進めることをお勧めします。 eBPFとbpftraceはじめに、eBPFとbpftraceについて簡単に説明します。 eBPFとはeBPF(Extended Berkeley Packet Filter)はLinuxカーネル内で動作する柔軟なプログラミングフレー

                                                                bpftraceによるGoアプリケーションのトレース|hayajo
                                                              • Linux Hardening Guide | Madaidan's Insecurities

                                                                Last edited: March 19th, 2022 Linux is not a secure operating system. However, there are steps you can take to improve it. This guide aims to explain how to harden Linux as much as possible for security and privacy. This guide attempts to be distribution-agnostic and is not tied to any specific one. DISCLAIMER: Do not attempt to apply anything in this article if you do not know exactly what you ar

                                                                • M1 mac上のDockerコンテナ内でChromiumを動かそうとしてやったこと&やろうとしてること - savanna blog

                                                                  savanna.ioの開発をお手伝いしている masa-iwasaki です。現在進行中の案件で調査が甘いところもあるのですが、表題の件について同じく行き詰まってる or 今後行き詰まる人が居るかもしれないので自分が試行錯誤した結果を共有します。ちなみにsavanna公式ブログでは初の開発エントリのようです。 tl;dr Docker Desktop for Apple silicon では linux/amd64 なDockerイメージではGoogle Chromeが動かない QEMUのバイナリエミュレーションが完璧では無くcore dumpする arm64 Linux向けのGoogle Chromeは存在しない Chromiumを使いたいのだが 最新バージョンのChromiumを使おうとするといろいろある 回避策・解決策の検討 背景 savannaではRailsを利用して作られていて、

                                                                    M1 mac上のDockerコンテナ内でChromiumを動かそうとしてやったこと&やろうとしてること - savanna blog
                                                                  • containerd & Lima: Open source alternative to Docker for Mac

                                                                    Today, the community was shocked by the sudden news that Docker Desktop for Mac/Win is no longer free [-as-in-beer] for “professional use in larger businesses”. But we have a free, libre, and open source alternative of Docker for Mac: containerd & Lima. $ brew install lima $ limactl start $ lima nerdctl run -it --rm alpine(NOTE: ARM Mac requires installing a patched version of QEMU, see Lima docum

                                                                      containerd & Lima: Open source alternative to Docker for Mac
                                                                    • データセンター仮想化ツール Placemat v2の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                      こんにちは、Necoチームの鈴木です。 Necoチームでは仮想データセンター構築ツールPlacematを使って、データセンターを丸ごと仮想化し、その上でサーバーのプロビジョニングやKubernetesクラスタ構築、Kubernetes上で動作するアプリケーションのTest Suitesを実行しています。 Placematはプロジェクト初期に開発されたツールで、古いツールに依存していたり、実装方式や設計が洗練されていないなどの課題があっため、4ヶ月前からv2を開発開始し、先日リリースしました。 本記事ではその機能と使い方、今後のCI改善 Placemat on Kubernetesについて紹介します。 特徴 シンプルな構成 YAMLの設定ファイルで多彩なデータセンター環境を再現可能 多彩なVM設定 仮想BMC シンプルな構成 Placematはシングルバイナリで構成されています。 使い方もシ

                                                                        データセンター仮想化ツール Placemat v2の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                      • Multipass を使って Apple Silicon 版の Mac で Ubuntu の仮想マシンを扱う - CUBE SUGAR CONTAINER

                                                                        Apple Silicon (M1) の載った Mac mini を購入してからというもの、ローカルで仮想マシンを手軽に立ち上げる方法を模索している。 Intel 版の Mac であれば Vagrant + VirtualBox を使っていたけど、残念ながら VirtualBox は ISA が x86 / amd64 のシステムでしか動作しない。 Docker for Mac も使っているけど、コンテナではなく仮想マシンが欲しいという状況も往々にしてある。 そんな折、Multipass を使うとデフォルトではゲスト OS が Ubuntu に限られる 1 ものの、Vagrant 並に仮想マシンを手軽に扱えることがわかった。 今回は、そんな Multipass の使い方について書いてみる。 multipass.run 使った環境は次のとおり。 $ sw_vers ProductName:

                                                                          Multipass を使って Apple Silicon 版の Mac で Ubuntu の仮想マシンを扱う - CUBE SUGAR CONTAINER
                                                                        • M1 MacのDockerでChromiumを使ったFeature Specを動かす - Gunosy Tech Blog

                                                                          はじめに 元々の構成 Google Chromeが異常終了する QEMUでSegmentation Fault arm64向けのGoogle Chromeはない 別コンテナでChromiumを起動する Chromiumを動かすDockerイメージにseleniarmを使う CapybaraでリモートドライバとしてChromiumを指定 Capybaraのリモートドライバ設定 ホストとポートの固定 ファイルダウンロードテストのためにvolumeを共有 まとめ 参考記事 はじめに こんにちは。広告技術部のjohnmanjiroです。普段は広告配信のAPIや管理画面を作っています。ピーナッツくんのライブに現地参戦したのがここ最近で一番楽しかったです。 Gunosyでは、社員が使っているPCが古くなってきたタイミングで新しいものへ置き換えるPCリプレースを行っています。今回私もリプレースの対象にな

                                                                            M1 MacのDockerでChromiumを使ったFeature Specを動かす - Gunosy Tech Blog
                                                                          • Amazonが作ったサーバレスアプリケーションのための軽量VM、Firecrackerの論文を読み解く -その1- - inductor's blog

                                                                            このエントリーについて このエントリーを書き始めた経緯は下記にあります。 blog.inductor.me 1. はじめに(Introduction) サーバーレスコンピューティングは、[4、16、50、51]などのパブリッククラウド環境と[11、41]などのオンプレミス環境の両方で、ソフトウェアやサービスをデプロイ、管理するためにますます一般的になっているモデルです。サーバーレスモデルは、サーバーの運用やキャパシティ管理、自動スケーリング、従量制の価格設定、イベントおよびストリーミングデータのソースとの統合など、いくつかの理由において魅力的です。コンテナは、Dockerによって最も一般的なかたちで具体化され、運用オーバーヘッドの削減や管理性の向上など、同様の理由で一般的になっています。コンテナとサーバーレスは、従来のサーバープロビジョニング処理に比べて明確な経済的利点を提供します。マルチ

                                                                              Amazonが作ったサーバレスアプリケーションのための軽量VM、Firecrackerの論文を読み解く -その1- - inductor's blog
                                                                            • QEMUに加えAppleのVirtualizationフレームワークをサポートしApple Silicon MacでmacOSやLinuxの仮想化が可能になった「UTM v3.0.0」のBeta版がリリース。

                                                                              QEMUに加えAppleのVirtualizationフレームワークをサポートしApple Silicon MacでmacOSやLinuxの仮想化が可能になった「UTM v3.0.0」のBeta 1がリリースされています。詳細は以下から。 CPUエミュレータQEMUを利用し、MacやiOSデバイス上でx86_64やARM64、RISC-Vなど様々なアーキテクチャの仮想マシン実行可能な仮想化ソフトウェア「UTM」を開発しているUTM Projectは現地時間2022年01月01日、次期メジャーアップデートとなる「UTM v3.0.0」のBeta 1をリリースし、QEMUバックエンドでの仮想化に加え、新たにAppleのVirtualizationフレームワークを利用した仮想化をサポートすると発表しています。 (macOS 12+, ARM64) Virtualize macOS 12: New

                                                                                QEMUに加えAppleのVirtualizationフレームワークをサポートしApple Silicon MacでmacOSやLinuxの仮想化が可能になった「UTM v3.0.0」のBeta版がリリース。
                                                                              • Lima を使って Apple Silicon 版の Mac で x86-64 (Intel on ARM) な仮想マシンを扱う - CUBE SUGAR CONTAINER

                                                                                Apple Silicon 版の Mac を使っていても、依然として成果物をデプロイする先は ISA が x86-64 (amd64) のマシンであることが多い。 となると、どうしても x86-64 の環境を使って作業をしたい場面が出てくる。 もちろん、IaaS を利用してリモートにマシンを立ち上げれば良いんだけど、簡単な検証なら手元で手軽に済ませたい。 今回は、そんなニーズを埋めてくれるかもしれない Lima を使ってみる。 Lima を使うと、Apple Silicon 版の Mac 上で ISA が x86-64 の Linux 仮想マシンを手軽に立ち上げることができる 1。 ただし、バックエンドは QEMU のソフトウェアエミュレーション (qemu-system-x86_64) なので、ネイティブな環境に比べるとパフォーマンスは大きく劣る。 使った環境は次のとおり。 $ sw_v

                                                                                  Lima を使って Apple Silicon 版の Mac で x86-64 (Intel on ARM) な仮想マシンを扱う - CUBE SUGAR CONTAINER
                                                                                • GPUが1枚のマシンでもPCIパススルーして、ゲームができるWindowsのVMを作る

                                                                                  OpenJDKを読む時間がStableDiffusionに奪われてしまいました。 部屋が熱くなるのでこの手のものは冬場にやるほうが賢そうです。 ちょっとはそれっぽいのが作れるようになってきました pic.twitter.com/1tBNsTjqtH — さくらんぼ (@lambda_sakura) August 26, 2022 今回は自分の計算機の構成について解説してみます。GPUをPCIパススルーしてしまい、GPUをホストOSとゲストOSで共有するような環境です。redditとか見ても解説している記事が多くはなく日本語に至っては見つけられませんでした。一定の価値があるかなと思って記録がてら書いています。 環境を作った動機 普段Linuxを使っていることが多いのですが、以下の場合にはWindowsを利用する必要があります。 ゲームをやりたい場合Microsoft Officeを利用する場

                                                                                    GPUが1枚のマシンでもPCIパススルーして、ゲームができるWindowsのVMを作る