タグ付けされた質問 「embedded」

ネットワーク機器、携帯電話、メディアプレーヤー、セットトップボックスなどの組み込みコンピュータシステムでのUnixの使用。

5
組み込みLinux用の破損防止SDカードファイルシステム?
最近、お客様にかなり不快な状況がありました-リモートセンシングデータの表示に使用されるRaspberry Piベースの「キオスク」ファイルシステムの破損。Ext4、マニュアルfsckが必要です。システムは明日の重要なプレゼンテーションの一部となり、すぐにサービスが必要になります。もちろん、夜間に電源を切るときにシステムをうまくシャットダウンするように顧客に要求することはできません。システムは単純にそのような虐待に耐えなければなりません。 将来はそのような状況を避けたいので、これを防ぐファイルシステムにOSを移動したいと思います。MTDデバイス向けのファイルシステムがたくさんあります。SDカード(標準ブロックデバイス)で実行するには、深刻なフープジャンピングが必要です。破損に対する優れた耐性を誇る他のファイルシステム(ジャーナリングなど)もあります。私はまだ彼らの賛否両論の合理的な比較を見なければなりません。 Linuxで利用可能なファイルシステムは、予期しない停電時の破損に対する最高の耐性を提供し、SDにインストールするためにyaffs2のような不可能なフープをジャンプする必要はありません。 摩耗バランスはプラスですが、要件ではありません。SDカードは通常、完璧ではない場合、独自のメカニズムを備えていますが、システムは「フラッシュにやさしい」必要があります(NTFSなどのシステムは1か月以内にSDカードを殺すことができます)。

2
zipファイルを読み取り専用ファイルシステムとしてマウントします
アーカイブ内のファイルに透過的にアクセスできるように、ZIPアーカイブをファイルシステムとしてマウントする方法を探しています。読み取りアクセス権のみが必要です。ZIPは変更されません。これは(リソースに制約のある)組み込みシステム用であるため、RAMの消費は重要です。利用可能なオプションは何ですか?

5
Linuxでパスワードを確認する方法は?
特定のクリアテキストパスワードが/ etc / shadow上の暗号化されたパスワードと同じかどうかを、Linuxコマンドラインから確認したい (Webユーザーを認証するためにこれが必要です。組み込みLinuxを実行しています。) / etc / shadowファイル自体にアクセスできます。

3
uImageからファイルを抽出する方法は?
Buildrootは、実行する必要がある組み込みデバイスのイメージを生成しています。これは非常にうまく機能しています。これらのイメージには、rootfsが含まれています。 いくつかの研究により、生成されたファイルを調べたいと思います(たとえば、Buildrootによって設定された異なる圧縮モードが適用され、正しく実行されたかどうかを確認します)が、ネットで何か有用なものが見つかりません。 私の知る限り、uImageとzImageの違いはほんの小さなヘッダーであるため、u-bootはそのバイナリファイルを読み取ることができます。しかし、uImageもzImageも開くことができません。 ホスト上のそれらの(u / z)Imagesを解凍する方法のヒントを教えてもらえますか?

3
組み込みのttyUSB0にカスタムPIDを持つUSBシリアルデバイスを接続する
私は、カスタムPIDを備えたFTDI USB-Serialデバイスを取得して、自動的に(または手動で)ttyUSB%nに接続しようとしていますが、あまり成功していません。デバイスの通常のVID / PIDは0403/6001です。この方法でプログラムすると、完全に機能し、プラグイン時にttyUSB0に自動的に接続されます。新しいPIDを尊重するように再コンパイルされたドライバーでも、カスタム1でプログラムするとttyUSB0は表示されませんが、ftdi_sioデバイスとして認識されますドライバーをロードします。 ヘッダーとソースにPIDを追加しました: // in ftdi_sio_ids.h #define FTDI_CUSTOM_PID 0xABCD // not the actual pid // then in ftdi_sio.c static struct usb_device_id id_table_combined [] = { // devices.... { USB_DEVICE(FTDI_VID, FTDI_CUSTOM_PID) }, // .... カーネル全体を再コンパイルし、デバイスを再フラッシュしました。デバイスを接続すると、次のようになります。 usb 1-1: new full-speed USB device number 2 using at91_ohci usbcore: registered new interface …

6
デバイスレジスタを読み取るシェルコマンド?
Linuxを実行するシングルボードコンピューターで、ハードウェアを制御するデバイス構成レジスターの内容を読み取る方法はありますか?のラッパーになると思いますinw()。 mdドライバーのデバッグのコンテキストで使用されるU-bootメモリダンプ()コマンドに相当するものを探しています。
18 linux  memory  embedded 

4
Linuxを完全に起動するために必要な最低限のルートファイルシステムアプリケーションは何ですか?
ユーザー空間アプリケーションに関する質問ですが、私に聞いてください! Linuxの機能ディストリビューションを起動するには、いわば3つの「アプリケーション」が必要です。 ブートローダー-通常は組み込み用のU-Bootですが、ハード要件ではありません。 カーネル-それは非常に簡単です。 ルートファイルシステム-それなしではシェルを起動できません。カーネルがブートするファイルシステムと、initフォームと呼ばれる場所が含まれます。 私の質問は#3に関してです。誰かが非常に最小限のrootfsを構築したい場合(この質問ではGUIなし、シェルのみ)、シェルを起動するにはどのファイル/プログラムが必要ですか?

3
RAMのrootfsでLinuxを起動するにはどうすればよいですか?
rootfsはsquashfsイメージであり、ブートローダーはそれをSDRAMのあるアドレスにロードしています。そこからrootfsをマウントできるようにするには、どのパラメーターをカーネルに渡す必要がありますか?Squashfsのサポートは組み込みであり、すでに動作します root=/dev/mtdblock2 rootfstype=squashfs フラッシュから起動します。 編集:これは、カスタムブートローダーを使用したMIPSベースの組み込みデバイスです。通常、ブートローダーは圧縮されたカーネルをフラッシュからSDRAMに抽出し、カーネルは/ dev / mtdblock2をrootfsとしてマウントします。ブートローダーを改善して、イメージをRAMにダウンロードし、フラッシュに書き込まずにブートできるようにしています。 LinuxでRAMのファイルシステムイメージをrootfsとしてマウントする方法がわかりません。
16 linux  embedded  mips 

2
組み込みのセットアップでは、読み取り専用のルートファイルシステムを使用することをお勧めしますか?
Linuxを組み込みデバイス上のオペレーティングシステムとして実行するという任務を負っています。 ターゲットにはx86プロセッサがあり、ストレージ用に8 GBのコンパクトフラッシュデバイスがあります。 buildrootを使用して、カーネルイメージとクロスコンパイルツールを作成することができました。CFデバイスをカーネルイメージが存在する小さなFATパーティションsyslinuxと、ブート構成とext3buildrootによって生成されたルートファイルシステムを解凍したファイルシステムにパーティション分割しました。 syslinuxbuildrootファイルシステムが存在するCF ext3パーティションにルートディレクトリを設定することにより、システムが正常に起動します。 私の質問は、停電後にデバイスが正常に起動することが重要であるため、即時(および頻繁な)電力損失に直面した場合の堅牢性の必要性に集中しています。ルートファイルシステムを読み取り専用としてマウントすることは、データの整合性を確保する方法であることを読みました。これは私が進むべき賢明な方法ですか? ルートファイルシステムをRAMにロードして同じことを実現する可能性についても読んでいますが、まだその方法はわかりません。 この目標を達成する好ましい方法はありますか?もしそうなら、私にとって最善の方法は何ですか?

3
カーネルメモリサイズの増加
Linux 2.6.29とUBootブートローダーを実行する512MBのRAMを備えた組み込みボードがあります。ただし、カーネルは128MBのRAMしか使用できません。 の値を変更してみましたがXCODE_MEMSIZE、カーネルが使用するRAMの量を決定すると思います。 512に設定すると、起動中にカーネルがクラッシュします。変更する必要がある他の構成パラメーターはありますか?

2
デーモン(つまり、バックグラウンド)プロセスがUSBキーボードからのキー押下を探すことは可能ですか?
私は組み込みLinuxプロジェクトに取り組んでいます。そこでは、起動時に自動的に実行され、キャラクターディスプレイと何らかのボタン配列を介してユーザーと対話するプログラムを開発します。単純なGPIOボタンアレイを使用すれば、それらのGPIOラインでキー入力を探すプログラムを簡単に作成できます。しかし、私たちの考えの1つは、ユーザー入力に代わりにUSBテンキーデバイスを使用することでした。私の理解では、これらのデバイスはUSBキーボードとしてOSに表示されます。この道を進むと、仮想端末やVGAディスプレイがないことに注意して、私のプログラムがLinux内からこのUSBキーボードの入力を探す方法があります。USBキーボードが接続されている場合、「/ dev」にファイル記述子を開くことができるように見えるエンティティがありますか?
13 linux  usb  keyboard  embedded 


4
クロスコンパイルされたValgrindの使用
Valgrindトランクからソースをダウンロードし、ARM926(ARMv5tアーキテクチャ)を搭載した組み込みLinuxシステム(Montavista Linux)で使用するためにビルドしました。作成したアプリケーションを確認するために実行するまで、すべてがうまくいきました。Valgrindは私に言います: "valgrind:プラットフォーム 'arm-linux'のツール 'memcheck'の起動に失敗しました:そのようなファイルまたはディレクトリはありません。 他のツールを実行しようとすると、同じメッセージが表示されます。以下のためにメイクインストール私はNFSを介して装着されている組み込みシステムのファイルシステムを指す--prefixオプションを使用(例えば--prefix = /ホーム/ NFS_mountedは/ opt / valgrindの)。インストール場所を確認し、そこのlibディレクトリに適切なツールが含まれていることを確認しました。Valgrindの対応するpkgconfigファイルも確認しましたが、問題はないようですので、現時点では無知で、何が問題なのかを理解できません。2つの質問: そのようなクロスコンパイルされたValgrindを使用/インストールすることは正しいですか?多分私はセットアップに関して何か間違ったことをしている、あるいは多分私が見逃しているホストシステムに関係している何かがある(gdb / gdbserverのような)。 誰かがARMアーキテクチャでそれを実行してみましたか?私はサポートがかなり最近であることを知っているので、きちんとした結果が得られるかどうか疑問に思っています。

5
選択する必要がある最小だが拡張可能なLinuxディストリビューション
64 mb CFカードに収まるほど簡単にサイズを縮小できる拡張可能なLinuxディストリビューションが必要です。 このストリップバージョンでは、C7経由で実行され、カーネル、ネットワーク、シェル、基本的なperl、およびftpサーバーが必要です。これを行うことができる組み込みシステム用のディストリビューションがいくつかありますが、私は将来的にこのセットを拡張できるようにする必要があるという要件を持っています。 これができるディストリビューションはどれですか。Fedora、Debian、Ubuntuのような主要なディストリビューションのどれかをそんなに削り取ることはできますか? 編集:私が必要としているものにかなり近いと思われる組み込みDebianを見ました。悲しいことに、メインのメンテナの健康問題のために開発が行き詰まっているようです。

1
読み取り専用/ etcを書き込み可能にする
Linuxを実行している組み込みデバイスを扱っています。このデバイスの製造元は、ルートファイルシステムを読み取り専用としてロードするように設定しています。 / etc / mtabから: rootfs / rootfs rw 0 0 /dev/root / squashfs ro,relatime 0 0 これは、新しいユーザーを追加するなど、/ etc内のファイルを変更できないことを意味します。 私はルートディレクトリを再マウントしようとしました: mount -o remount,rw -t squashfs /dev/root / エラーが出ます mount: cannot remount block device /dev/root read-write, is write-protected 私はこのエラーを調べ、人々はblockdevを使うように言っていました。システムにはblockdevがインストールされていないため、クロスコンパイルしてコピーしました。それから私は走った blockdev --setrw rootfs しかし、再びエラーが発生しました: blockdev: cannot open rootfs: No such file or …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.