私はIntel-AtomとPCHに基づいた組み込みシステムを持っており、それを開発するのに忙しいです。組み込み環境には次のものがあります。
- PCHを介したシリアルコンソールは、標準のカーネルでは動作しないことを意味します。 (
CONFIG_SERIAL_PCH_UART_CONSOLE
必要に応じて) - SATAドライブは内蔵環境でのみ利用可能で、インストールのために取り外すことはできません。
- USBドライブから起動できます。
- システムにPCH経由のイーサネットがありますが、動作していることを確認できませんでした。
console=uartPCH0,115200
起動後、シリアルラインにコンソールを表示できるカスタムLinux 3.16.7カーネルを正常に構築しました。
しかし、ここから実際のインストールに移動するのは問題があるようです。 debian-installerが私のカスタムカーネルビルドを使用するように説得することはできません。
現在の理論は、最初にインストールをUSBドライブから起動し、起動してからインストールをシステムのSATAドライブから起動するデュアルブートプロセスです。より良い提案がありますか?
Webコンソールからインストールする方法があるかどうかはわかりません。
システムにはe1000eドライバが必要です。このドライバは標準のDebianインストーラISOに組み込まれています。しかし、これまでのところ、インストールシステムを起動してからssh / telnetを開くように説得する方法については明確な文書が見つかりませんでした。
どのようなヒントがありますか?
答え1
debootstrapで問題を解決しました。以下は、私が従ったプロセスの簡単な概要です。
- USBの取り外し
USBパーティション(4GB)
Zap out GPT with gdisk, as my board didn't want to boot GPT. Created just one linux partition, nothing else. I had lots of problems getting a usb drive bootable on my embedded system.
mkfs.ext4 /dev/sdb1
- マウント /dev/sdb1 /media/usb
debootstrap 提示/メディア/USBhttp://my.mirror/debian
I highly recommend setting up something like apt-cacher
ルート/メディア/USB
Mount all these: mount -t devtmpfs dev /dev mount -t devpts devpts /dev/pts mount -t proc proc /proc mount -t sysfs sysfs /sys
編集 /etc/fstab: (通常編集には nano を使用します)
proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 UUID=xxxx / ext4 errors=remount-ro 0 1 to write UUID into file use: blkid -o value -s UUID /dev/sdb1 >> /etc/fstab
仮定:
apt-get install locales dpkg-reconfigure locales apt-get install console-setup dpkg-reconfigure keyboard-configuration (optional?) apt-get install console-data passwd root adduser linuxuser
グラップとカーネルのインストール
apt-get install grub-pc I installed grub into both /dev/sdb and /dev/sdb1 but you can use install-mbr for /dev/sdb I think apt-get install linux-image-686-pae
今/etc/default/grubを編集してください:
uncomment GRUB_TERMINAL=console add GRUB_GFXPAYLOAD_LINUX=text to GRUB_CMDLINE_LINUX_DEFAULT add: console=tty0 console=ttyPCH0,115200 run upgrade-grub2
/etc/default/console-setup 編集:
CODESET="guess" FONTFACE= FONTSIZE= VIDEOMODE=
/etc/kernel-img.conf を作成し、次の内容を含めます。
image_dest = / do_symlinks = yes do_bootloader = yes do_bootfloppy = no do_initrd = yes link_in_boot = no
dpkg -i を使用してカスタムカーネルをインストールします。
For me 2 options was important: CONFIG_SERIAL_PCH_UART=y CONFIG_SERIAL_PCH_UART_CONSOLE=y although I did highly customize the kernel after that. Currently I am compiling 3.14 with the rt-patch from linux-source-3.14 I downloaded out of wheezy-backports
再起動する前に実行するその他の操作(オプション)
edit /etc/modules to force drivers to load edit /etc/network/interfaces echo myHostName > /etc/hostname apt-get install telnetd apt-get install openssh-server
このステップでは、ターゲット組み込みシステムからUSBを起動し、プロセス全体を再度繰り返すことで、SATAドライブにDebianをインストールできます。明らかにこれを容易にするには、まずUSBドライブにdebootstrapのようなものをインストールする必要がありますが、これは二次的なものです。
答え2
以下を使用して、Debian インストーラの Web コンソールを有効にできます。事前放送。インストールガイドには、実際には次の内容が含まれています。はい:
# Use the following settings if you wish to make use of the network-console # component for remote installation over SSH. This only makes sense if you # intend to perform the remainder of the installation manually. #d-i anna/choose_modules string network-console #d-i network-console/authorized_keys_url string http://10.0.0.1/openssh-key #d-i network-console/password password r00tme #d-i network-console/password-again password r00tme
このanna/choose_modules
設定のコメントを外す必要があります。 SSHキーを使用してログインするには、URLを介して公開鍵にアクセスし、このnetwork-console/authorized_keys_url
設定のコメントを外します。パスワードを使用するには、他の2つの設定のコメントを解除してください。
もちろん、上記の設定でネットワークコンソールを起動する前に、これらの質問に答えるためのインターフェースがないので、以前の質問もすべて準備する必要があります。 DHCP環境では、次のことも必要です。
d-i debian-installer/language string en d-i debian-installer/country string US d-i debian-installer/locale string en_US.UTF-8 d-i keyboard-configuration/xkb-keymap select us
preseed.cfg
initrdにファイルを追加する代わりに(ブートローダが直接サポートしない可能性がある)、カーネルコマンドラインからこれらの設定をすべて提供できます。
linux language=en country=US locale=en_US.UTF-8 keymap=us anna/choose_modules=network-console network-console/authorized_keys_url="http://..." initrd=initrd.gz
(より略語リスト)。