首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用串行控制台或网络控制台在嵌入式系统上安装Debian

用串行控制台或网络控制台在嵌入式系统上安装Debian
EN

Unix & Linux用户
提问于 2015-07-22 09:56:18
回答 2查看 3K关注 0票数 2

我有一个基于Intel-Atom的嵌入式系统,我们正在忙着开发PCH .在嵌入式环境中,我有:

  • 通过PCH的串行控制台,这意味着这不适用于标准内核。( CONFIG_SERIAL_PCH_UART_CONSOLE是必需的)
  • SATA驱动器只能在嵌入式环境中使用,不能用于安装。
  • 我可以通过USB驱动器启动。
  • 该系统确实有以太网通过PCH,但我还没有确定的工作。

我已经成功地构建了一个定制的Linux3.16.7内核,它可以用console=uartPCH0,115200引导,然后在串行行上显示一个控制台。

然而,从这里移到实际安装似乎是有问题的。我无法说服使用我的自定义内核构建。

我目前的理论是双引导过程,首先引导一个安装到usb驱动器,然后引导它,然后引导到系统上的SATA驱动器中?有更好的建议吗?

我不确定是否有通过网络控制台安装的方法?

系统需要e1000e驱动程序,我假设它将被内置到标准debian中,但是到目前为止,我还没有找到关于如何说服安装系统启动并打开ssh/telnet的非常清晰的文档。

有什么暗示吗?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2015-07-24 07:57:41

我设法用debootstrap解决了我的问题,下面是我所遵循的过程的快速运行。

  1. 卸载usb
  2. 用gdisk分区USB (4GB) Zap出GPT,因为我的董事会不想启动GPT。只创建了一个linux分区,没有其他任何内容。在我的嵌入式系统上,我在获得usb驱动器可启动时遇到了很多问题。
  3. mkfs.ext4 /dev/sdb1 1
  4. 安装/dev/sdb1 1 /media/usb
  5. debootstrap jessie /media/usb http://my.mirror/debian i强烈建议设置类似apt-cacher之类的东西。
  6. chroot /media/usb挂载所有这些:-t devtmpfs dev /dev -t devpt /dev/pts挂载-t proc proc /proc挂载-t sysfs /sys
  7. 编辑/etc/fstab:(我通常使用nano编辑) proc /proc proc缺省值为0 0 sysfs /sys sysfs缺省值0 0 UUID=xxxx / ext4 errors=re装入-ro 0 1以将UUID写入文件使用: blkid -o值-s UUID /dev/sdb1 1 >> /etc/
  8. 保存:apt-获取安装区域设置dpkg-重新配置地区安装控制台-安装dpkg-重新配置键盘配置(可选?)apt-获取安装控制台-数据passwd root adduser linuxuser
  9. 安装grub和内核apt-get安装grub-pc我将grub安装到/dev/sdb和/dev/sdb 1中,但是您可以使用Install表示/dev/sdb,我认为apt安装linux-映像-686-pae。
  10. 现在编辑/etc/默认/grub:取消注释GRUB_TERMINAL=console添加GRUB_GFXPAYLOAD_LINUX=text到GRUB_CMDLINE_LINUX_DEFAULT添加: console=tty0 console=ttyPCH0,115200运行升级-grub2
  11. 编辑/etc/默认/控制台-安装:CODESET=“猜测”FONTFACE= FONTSIZE= VIDEOMODE=
  12. 创建/etc/kernel img.conf,其中包括: image_dest =/ do_symlinks = yes do_bootloader = yes do_bootfloppy = no do_initrd = yes link_in_boot = no
  13. 现在,为我安装带有dpkg -i的自定义内核是很重要的两个选项: CONFIG_SERIAL_PCH_UART=y CONFIG_SERIAL_PCH_UART_CONSOLE=y,尽管之后我对内核进行了高度定制。目前,我正在用linux源代码中的rt-补丁编译3.14,我已经下载了wheezy backport。
  14. 在重新启动(可选)编辑/etc/模块之前要做的其他事情,以强制驱动程序加载编辑/etc/网络/接口回显myHostName > /etc/hostname apt install telnetd apt-get install openssh-server

在这个阶段,我可以在我的目标嵌入式系统上启动usb,并重复整个过程,在SATA驱动器上安装debian。显然,我需要首先在usb驱动器上安装类似于needed的东西,以方便这一点,但这是次要的。

票数 5
EN

Unix & Linux用户

发布于 2015-07-26 19:29:19

您可以通过预播激活Debian安装程序的网络控制台。“安装指南”实际上包含以下示例

如果希望使用network#组件在SSH上进行远程安装,将使用以下设置。只有当您打算手动执行其余的安装时,这才有意义。#d-i安娜/选择模块字符串网络-控制台#d-i网络-控制台/授权密钥_url字符串http://10.0.0.1/openssh-key #d-i网络-控制台/密码r00tme #d-i网络-控制台/密码-再次密码r00tme

您必须取消对anna/choose_modules设置的注释。如果您想使用SSH密钥登录,可以通过某些URL访问公钥,并取消对network-console/authorized_keys_url设置的注释。如果要使用密码,请取消对其他两个设置的注释。

当然,您还必须预置所有以前的问题,因为在上面的设置启动网络控制台之前,您没有接口来回答这些问题。在DHCP环境中,这意味着您还需要类似于

d-i debian-installer/language string en -i debian-installer/country string US d-i debian-installer/locale string en_ us .us 8d-i键盘-配置/xkb-keymap选择我们

您可以在内核命令行中提供以下所有设置,而不是将preseed.cfg文件添加到initrd (引导加载程序可能不直接支持该文件)

代码语言:javascript
复制
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

(见缩写表)。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/217577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档