Jump to content

How to add the boot partition for my Armbian system?


Recommended Posts

Hello, I am using my Renegade with the Armbian I compiled myself. Now there is only one partition on my system:

Number  Start    End      Size     Type     File system  Flags
        0.03MiB  16.0MiB  16.0MiB           Free Space
 1      16.0MiB  5580MiB  5564MiB  primary  ext4
        5580MiB  7620MiB  2040MiB           Free Space

I want to add a boot partition like Raspberry OS, so I can make some configration on the PC through boot partition. Raspberry OS's partition always like that:

Number  Start     End       Size      Type     File system  Flags
        0.02MiB   4.00MiB   3.98MiB            Free Space
 1      4.00MiB   260MiB    256MiB    primary  fat32        lba
 2      260MiB    14939MiB  14679MiB  primary  ext4
        14939MiB  14940MiB  0.95MiB            Free Space

Is there any method?

Link to comment
Share on other sites

@Igor,thanks for your relpy!
I tried to add the BOOTFS_TYPE="fat" to the end of the board config file. It really generated the boot partition! But after the bootloader boot, the kernel cannot boot successfully, the console shows like below:


U-Boot 2021.07-armbian (May 28 2022 - 14:59:35 +0800)

Model: Firefly roc-rk3328-cc
DRAM:  1022 MiB
PMIC:  RK8050 (on=0x40, off=0x00)
MMC:   mmc@ff500000: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial@ff130000
Out:   serial@ff130000
Err:   serial@ff130000
Model: Firefly roc-rk3328-cc
Net:   eth1: ethernet@ff550000
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
349 bytes read in 4 ms (85 KiB/s)
1:	Armbian
Retrieving file: /boot/uInitrd
Failed to load '/boot/uInitrd'
Skipping Armbian for failure retrieving initrd
SCRIPT FAILED: continuing...
64809 bytes read in 9 ms (6.9 MiB/s)
7[r[999;999H[6n8Scanning disk mmc@ff500000.blk...
Found 3 disks
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
MMC Device 0 not found
no mmc device at slot 0
starting USB...
Bus usb@ff5c0000: USB EHCI 1.00
Bus usb@ff5d0000: USB OHCI 1.0
Bus usb@ff580000: USB DWC2
scanning bus usb@ff5c0000 for devices... 1 USB Device(s) found
scanning bus usb@ff5d0000 for devices... 1 USB Device(s) found
scanning bus usb@ff580000 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
Speed: 100, full duplex
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5
BOOTP broadcast 6
BOOTP broadcast 7
BOOTP broadcast 8
BOOTP broadcast 9
BOOTP broadcast 10
BOOTP broadcast 11
BOOTP broadcast 12
BOOTP broadcast 13
BOOTP broadcast 14
BOOTP broadcast 15
BOOTP broadcast 16
BOOTP broadcast 17

Is there any step I haven't made?

Link to comment
Share on other sites

18 minutes ago, DavidJS said:

Is there any step I haven't made?


Yes. You didn't read my answer. I said that "if it won't work properly, its on you to debug". I suspected this will happen since we are not paying attention to making FAT boot support ;) This exists in the system with one reason only - in case some hardware can't be boot from ext4 directly, we use this and adopt boot scripts to meet this scenario. And this is your job - to adopt boot scripts - what boot log tells you?

Link to comment
Share on other sites

15 minutes ago, Igor said:


Yes. You didn't read my answer. I said that "if it won't work properly, its on you to debug". I suspected this will happen since we are not paying attention to making FAT boot support ;) This exists in the system with one reason only - in case some hardware can't be boot from ext4 directly, we use this and adopt boot scripts to meet this scenario. And this is your job - to adopt boot scripts - what boot log tells you?

Oh, so except the boot log I provided above, is there still other logs I can find?

Link to comment
Share on other sites

@Igor, I found the log showed:

Retrieving file: /boot/uInitrd
Failed to load '/boot/uInitrd'

And I made the system without boot partition and boot successfully, it can retrieve the "/boot/uInitrd" successfully. So on the "ok system", I continue to type:

"ls -l /boot", and it shows:


root@renegade:/boot# ls -l
total 60676
-rw-r--r-- 1 root root     1536 May 16 16:12 armbian_first_run.txt.template
-rw-r--r-- 1 root root    38518 May 16 16:12 boot.bmp
-rw-r--r-- 1 root root   232159 May 16 16:01 config-5.16.20-rockchip64
lrwxrwxrwx 1 root root       22 May 16 16:11 dtb -> dtb-5.16.20-rockchip64
drwxr-xr-x 6 root root     4096 May 16 16:11 dtb-5.16.20-rockchip64
drwxrwxr-x 2 root root     4096 May 16 16:10 extlinux
lrwxrwxrwx 1 root root       26 May 16 16:11 Image -> vmlinuz-5.16.20-rockchip64
-rw-r--r-- 1 root root 12589167 May 16 16:16 initrd.img-5.16.20-rockchip64
-rw-r--r-- 1 root root  6331787 May 16 16:01 System.map-5.16.20-rockchip64
lrwxrwxrwx 1 root root       26 May 16 16:16 uInitrd -> uInitrd-5.16.20-rockchip64
-rw-r--r-- 1 root root 12589231 May 16 16:16 uInitrd-5.16.20-rockchip64
-rw-r--r-- 1 root root 30327296 May 16 16:01 vmlinuz-5.16.20-rockchip64

There is a file of "uInitrd-5.16.20-rockchip64" on the /boot direction.

 

And on the system I add boot partition, there is no "uInitrd-5.16.20-rockchip64"! Maybe this is the key?

image.png.28b7b6ee39e72327bb66111e34abb4f0.png

Link to comment
Share on other sites

What does your extlinux/extlinux.conf file look like? Without seeing the contents I can't be sure, but on its face it looks like it can't load the files, because it can't find them.

 

For example; since you are now booting from a boot partition, it shouldn't be checking for `/boot/$file. Instead it should be loading the files from the `/` of the boot partition.

Link to comment
Share on other sites

On 5/28/2022 at 6:45 PM, Cornelius said:

What does your extlinux/extlinux.conf file look like? Without seeing the contents I can't be sure, but on its face it looks like it can't load the files, because it can't find them.

 

For example; since you are now booting from a boot partition, it shouldn't be checking for `/boot/$file. Instead it should be loading the files from the `/` of the boot partition.

Thanks for your remind! It is the key, it still used "/boot/" on the extlinux/extlinux.conf file. After I changed it, it works!

 

Thank you for you two, @Igor, @Cornelius

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines