我正在开发一个 arm64 系统 ( Arm PL011 ),并且已经使用 u-boot-spl 、busybox 移植了 linux 5.15.68。过去,我可以在 linux shell 中输入 Ctrl-C
setsid cttyhack sh
但不知何故现在它不起作用了。我还收到一个错误:
can't open /dev/ttyAMA0
确实发生了一些变化,但我不知道是什么导致了这种变化。
我知道 dmesg 命令会打印存储在环形缓冲区中的消息。但是从 Linux 源代码来看,缓冲区的名称是什么?我想在 Linux 被终止且没有任何消息后查看缓冲区。我怀疑这不是由软件陷阱引起的(因此没有恐慌消息),但我可以检查内存(使用一些 System.map 和虚拟到物理地址的转换)。
我在某处读到 PCI 枚举(查找总线和设备、功能)是由 x86 系统中的 BIOS 完成的。(今天我在韩国网络文档中再次看到它:https ://melonicedlatte.com/computerarchitecture/2019/11/27 /234300.html )。那么基于arm64的系统呢?我从https://patchwork.kernel.org/project/linux-pci/patch/[email protected]/发现arm64 使用 UEFI 进行 PCIe 初始化,还发现你-boot 支持 arm64 的 PCIe。那么,如果我不使用 UEFI 固件并使用 u-boot 并且在 u-boot 期间不对 PCIe 做任何事情,操作系统(linux)会进行枚举吗?(当然我为 PCI 和我的 PCIe 控制器配置了 linux)。
我正在学习u-boot。使用 qemu 模型,我可以(使用 qemu)将图像加载到我想要的内存位置,并且可以使用booti addr
命令运行内核启动。如您所知,在 arm64 中,没有 uImage。
那么,在为arm(32位)构建linux内核时,是什么make LOADADDR=0x20008000 uImage
意思呢?无论如何,我们可以使用 u-boot shell 在任何我们想要的地方加载(从 SD 卡或网络)uImage。那么,是不是说当我们运行bootm
命令时,u-boot程序将uImage里面的内核镜像重定位到了0x20008000呢?很难找到这些信息。
从 df -k 命令,我看到了 sda、sdb、sdc 磁盘。它们有一些分区(例如,sda 有 sda1、sda3)。我想暂时分离 sdb 和 sdc 以进行操作系统升级。我怎么能准确地知道哪个磁盘是哪个?(其实我知道 sdc 是我最近附加的磁盘,但是如何从 SCSI 连接中分辨 sda,sdb,sdc?我记得 SCSI 连接器没有任何顺序..)
ckim@stph45:/boot/grub] cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: Samsung SSD 850 Rev: EXM0
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: ST2000DM001-1CH1 Rev: CC27
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: HL-DT-ST Model: BD-RE BH16NS40 Rev: 1.00
Type: CD-ROM ANSI SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD100EFAX-68 Rev: 83.H
Type: Direct-Access ANSI SCSI revision: 05
ckim@stph45:/boot/grub] df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 226026064 103433752 111103800 49% /
tmpfs 32958068 0 32958068 0% /dev/shm
/dev/sda1 201454560 4911408 186303152 3% /tools
/dev/sdc1 4806455048 387782752 4174511784 9% /home1
/dev/sdc2 4806466304 18391096 4543914032 1% /home2
/dev/sdb1 1922727280 853724060 971327620 47% /home