Debian

在帶有串列控制台或網路控制台 (PCH) 的嵌入式系統上安裝 Debian

  • July 26, 2015

我有一個基於 Intel-Atom 和 PCH 的嵌入式系統,我們正忙於開發。在嵌入式環境中,我有:

  • 通過 PCH 的串列控制台,這意味著這不適用於標準核心。(根據CONFIG_SERIAL_PCH_UART_CONSOLE需要)
  • SATA驅動器僅在嵌入式環境中可用,不能取出安裝。
  • 我可以通過 USB 驅動器啟動。
  • 該系統確實有通過 PCH 的乙太網,我還沒有確認它可以工作。

我設法建構了一個自定義的 Linux 3.16.7 核心,可以使用它啟動,console=uartPCH0,115200然後在串列線路上顯示一個控制台。

但是,從這裡轉移到實際安裝似乎是有問題的。我無法說服使用我的自定義核心建構 debian-installer。

我目前的理論是雙引導過程,我首先將安裝引導到 USB 驅動器,然後引導它,然後將安裝引導到系統上的 SATA 驅動器?有更好的建議嗎?

我不確定是否有某種方法可以通過網路控制台安裝?

該系統需要 e1000e 驅動程序,我假設它將內置到標準 debian 安裝程序 ISO 中,但是到目前為止,我無法找到關於如何說服安裝系統啟動然後打開 ssh/telnet 的非常清晰的文件。

有什麼提示嗎?

我設法用 debootstrap 解決了我的問題,這是我所遵循的過程的快速總結。

  1. 解除安裝USB
  2. 對 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.        
  1. mkfs.ext4 /dev/sdb1
  2. 掛載 /dev/sdb1 /media/usb
  3. debootstrap jessie /media/usb http://my.mirror/debian
I highly recommend setting up something like apt-cacher
  1. chroot /媒體/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
  1. 編輯 /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
  1. 家政:
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
  1. 安裝 grub 和核心
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
  1. 現在編輯 /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 
  1. 編輯 /etc/default/console-setup :
CODESET="guess"
FONTFACE=
FONTSIZE=
VIDEOMODE=
  1. 在裡面創建 /etc/kernel-img.conf :
image_dest = /
do_symlinks = yes
do_bootloader = yes
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
  1. 現在使用 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
  1. 重啟前要做的其他事情(可選)
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 之類的東西來促進這一點,但這並不重要。

引用自:https://unix.stackexchange.com/questions/217577