Debian
在帶有串列控制台或網路控制台 (PCH) 的嵌入式系統上安裝 Debian
我有一個基於 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 解決了我的問題,這是我所遵循的過程的快速總結。
- 解除安裝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 jessie /media/usb http://my.mirror/debian
I highly recommend setting up something like apt-cacher
- 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
- 編輯 /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
- 安裝 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
- 現在編輯 /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 之類的東西來促進這一點,但這並不重要。