Tuesday, February 22, 2011

RPM-based Kernels for Fedora ARM

Hello Everybody,
The way that kernel/boot/initrd system work on PC (i386/x86_64) are different from Fedora-Arm. I am determining and experimenting of these pieces and figuring out how it replaces, adapts, or reuses and how it implements on Fedora-Arm bases. For more details, please look at this link: More details.
I got my Fedora-Arm board and I connected to my laptop. In order to get terminal from serial port and interact with this, I installed minicom with this command:  yum install minicom
Here is a quick way to set up your minicom:
  1. Enter this command:   minicom -s
  2. Go to:  Serial port setup
  3. Change Serial device to "/dev/ttyUSB0
  4. Change Hardware Flow Control to No
  5.  Select Save setup as dfl
Now, my little hardware is ready to connect to computer. When I connect the Fedora-Arm board to computer, it starts to boot with U-boot. Since it gives me an error, I stops it from booting automatically by pressing a key and I try to boot manually. These are the steps that I did in order to boot this Arm board: I entered following commands:
  1. mmc init      ---->to make SD card available
  2. fatload mmc 0 0x80300000 uImage.bin    ------> to load kernel to memory
  3. setenv bootargs console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p1 rw rootdelay=1 ----> to set some environment variables.
  4. boots 0x80300000    ----> to boot kernel from memory
but I ended up with this error:

Waiting 1sec before mounting root device...
mmc0: new high speed SD card at address b368
mmcblk0: mmc0:b368 5     3.83 GiB
 mmcblk0: p1
VFS: Cannot open root device "b302" or unknown-block(179,2)
Please append a correct "root=" boot option; here are the available partitions:
1f00             512 mtdblock0 (driver?)
1f01            1920 mtdblock1 (driver?)
1f02             128 mtdblock2 (driver?)
1f03            4096 mtdblock3 (driver?)
1f04          255488 mtdblock4 (driver?)
b300         4020224 mmcblk0 driver: mmcblk
  b301         4016128 mmcblk0p1
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)

To solve this error, I emailed to my friends in Fedora Arm list and I got lot's of feedback and opinions. Finally, the problem solved by changing " root=/dev/mmcblk0p1" in environment variable to "/root=b301". As the output of error showed, I should call the partition with the hexadecimal code "b301" since it does not know about device at this moment.
So, the problem solved. Next step is init and initrd that I am working on that now. I will post a new page about init and initrd very soon and I will explain what I found and what was my struggling to run initrd.

No comments:

Post a Comment