Problem to change bootloader from barebox

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem to change bootloader from barebox

332 Views
Contributor IV

Hi,

I'm developing a board with an imx28 processor and I use barebox + linux 2.6.35 for the software.

I try to upload the bootloader from barebox shell with tftp but it doesn't work

barebox@IMX28:/ tftp barebox_ivt.sb /dev/null

could not open /dev/null: No space left on device

boot0 is a partition on a SPI flash memory. I have the same if I try to write the file to /dev/null or /dev/disk0.0 (disk0.0 is the boot partition when I work with an sd card)

I Can write the boort file to the spi flash from linux without problem.

here is the configuration of the memory on barebox :

#define BOOT_FROM_SPI 1

static struct flash_platform_data spi_flash = {

      .name = "nor-spi",    /* Cdev name, optional */

      .type = "m25p32",  /* Device type, required for non JEDEC chips */

};

static const struct spi_board_info mx28_misu_spi_board_info[] = {

    {

        .name = "m25p80",

        /*

         * we leave this with the lower frequency

         * as the ssp unit otherwise locks up

         */

        .max_speed_hz = 20000000,

        .bus_num = 2,

        .chip_select = 0,

        .bits_per_word = 8,

        .mode = SPI_MODE_0,

        .platform_data = &spi_flash,

    }

};

...

spi_register_board_info(mx28_misu_spi_board_info,

                                   ARRAY_SIZE(mx28_misu_spi_board_info));

add_generic_device("mxs_spi", 2, NULL, IMX_SSP2_BASE, 0x2000,

                              IORESOURCE_MEM, NULL);

devfs_add_partition("nor-spi0", 0x000000, 0x200000, DEVFS_PARTITION_FIXED, "boot0");

if (BOOT_FROM_SPI) {

               cdev = devfs_add_partition("nor-spi0", 0x200000, 0x200000, DEVFS_PARTITION_FIXED, "env0");

               if (IS_ERR(cdev))

                              pr_err("Cannot create env0 on spi flash\n");

               else

                              pr_info("environment storage is on spi flash\n");

}

else {

               ret = envfs_register_partition("disk0", 1);

               if (ret != 0)

                              pr_err("Cannot create the 'env0' persistent "

                                        "environment storage (%d)\n", ret);

}

Is there someone who can help me ?

Best regards.

Labels (2)
Tags (3)
0 Kudos
0 Replies