I downloaded CentOS-7-AltArch-ppc64-Minimal-1611.iso from this link

The /boot folder in this iso image does not contain the Linux Kernel image. The /boot folder just contains a grub folder and TRANS.TBL file. The Linux kernel image (vmlinuz) is in another folder (/ppc/ppc64 ). Due to this mismatch in the path, my freescale T2080 board is failing to boot. When I try to move the Linux Kernel Image in the boot folder, it says I cannot do it because it is a read only file system. Why is the Linux Kernel Image not in /boot in this case? How do I resolve this problem?

  • What's in the grub.cfg file? Have you tried creating symlink to kernel image ? – mrc02_kr Jul 17 '17 at 11:47
  • The /boot/grub/grub.cfg contains menuentry options like "Install CentOS...", "Test this media & install CentOS", "Rescure a CentOS... ", reboot and exit. How do I create a sysmlink to a kernel image? – Jay Jul 17 '17 at 11:54
  • 1
    I don't think you can just write a CentOS ISO image to a flash card and have it to work on the T2080 RDB. Judging by the documentation, like most other embedded systems, the board uses the U-boot bootloader. U-boot loads the kernel (a uImage file) and a device tree blob, and does not use GRUB at all. Somebody has found a way to use GRUB on U-boot on ARM, by creating a GRUB image that masquerades as a Linux kernel wiki.linaro.org/LEG/Engineering/Kernel/GRUBonUBOOT. But I would not recomment going that route. – Johan Myréen Jul 17 '17 at 16:28
  • 1
    Yes, I know your board is a PPC system. I provided the linaro.org link just as an example of how to use GRUB on U-boot. Your board is a reference design around a SoC processor, and very far from a consumer device. This means you really have to know what you are doing. That said, you could start by investigating what it takes to convert the CentOS kernel image to a uImage as required by U-boot and skip GRUB. I read somewhere that newer versions of U-boot have a bootz command that can boot zImage files directly. – Johan Myréen Jul 18 '17 at 7:21
  • 1
    After getting the kernel to load the next issue is: does the CentOS kernel know you board? Embedded devices don't usually provide autodetection of devices like the PC platform does. Normally you will have to provide a Device Tree file describing the hardware, which is loaded into memory by U-boot at the same time as the kernel image. I may sound pessimistic, but if I were you I would start with the Linux SDK from NXP instead of trying to boot CentOS. Diverging from the Intended Way™ is bound to get you into trouble, especially if you are not sure what you are doing. – Johan Myréen Jul 18 '17 at 7:26

First, you may just place it to /boot or where you like it to see.

Second, it is possible to have kernel in partition metadata and you will not see it in file system at all, but it will boot system normally.

So, absence of kernel image in /boot is not really a problem or some bug. And for sure it is not cause of issue mentioned in your request failing to boot.

  • When I try to move the Linux Kernel Image in the boot folder, it says I cannot do it because it is a read only file system. – Jay Jul 17 '17 at 12:03
  • The message "Unknown command '/boot/uImage' - try 'help' " indicates that it is unable to find the kernel image in the /boot directory. – Jay Jul 17 '17 at 12:07
  • Yes, filesystem readonly. I really mean you may extract ISO and create new ISO with files you want there... But better for you to notltouch it now. It is not trivial process. Please see my answer in your main request. uImage is only specific format of kernel image. Usual format in file named "vmlinuz". – Alexandr Jul 17 '17 at 12:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.