Kernel TIDAK mengenali blok buruk NAND yang ditandai dengan u-boot

Saat berada di u-boot papan berbasis ARM saya (DM368), saya menandai beberapa blok partisi kernel secara manual sebagai buruk. U-boot mengatakan bahwa itu telah ditandai dan, misalnya, saat menulis/membaca gambar kernel saya melihatnya melewatkan blok buruk ini.

Tetapi ketika saya mencoba untuk menulis partisi yang sama dari dalam Linux (dimuat melalui NFS) saya melihat bahwa perintah Linux nandwrite MENGGUNAKAN blok buruk ini! Saya memeriksanya dengan beberapa cara - Linux mengabaikan tanda blok buruk 100%. Namun di mana-mana di internet dikatakan bahwa BBT adalah satu untuk u-boot dan Linux.

Jadi, di mana hasil tangkapannya?


person leonp    schedule 10.10.2012    source sumber
comment
Bagaimana Anda menulis partisi dan apa sistem pengarsipan di atasnya?   -  person marko    schedule 10.10.2012
comment
Oke, saya ingin singkat... :-) Saya ingin memperbarui kernel dari dalam kernel. Kernel awal ditulis oleh u-boot, yang melewatkan blok buruk - diuji dengan menandai blok sebagai buruk dan menulis ulang gambar. Sekarang, dari dalam kernel (dimuat melalui NFS) saya nanddump3 image kernel dengan OOB dengan -bb=skipbad sekali dan tanpa -bb - hasilnya sama persis. Saya juga membuat nandwrite3 -o dan menulisnya kembali. Ketika tidak ada blok buruk yang ditandai secara artifisial, semuanya berfungsi dengan baik. Tapi sekarang, dengan blok buruk ditandai, u-boot tidak dapat memuat kernel - kesalahan CRC. Terima kasih atas waktu Anda.   -  person leonp    schedule 10.10.2012


Jawaban (1)


Oke, jawabannya sudah ditemukan. Untuk beberapa alasan yang tidak jelas Texas Instruments, produsen papan DM365EVM yang saya gunakan untuk pengembangan, menyediakan kernel dengan struktur BBT yang berbeda. Mereka mendefinisikan offset BBT sebagai 2, sementara seluruh dunia, termasuk u-boot yang disediakan, mendefinisikan offset ini sebagai 8. Saya berharap mereka memiliki kesehatan yang baik selama bertahun-tahun.

person leonp    schedule 11.10.2012
comment
Adakah kemungkinan Anda dapat mengarahkan kami ke file/line/define di mana Anda perlu melakukan perubahan? Saya juga mengetahui kesulitan dari basis kode SDK Ti dan mendoakan mereka mendapatkan banyak berkah. - person John U; 24.01.2018
comment
Coba lihat ke dalam file board-dm365-dvr.c. Ada definisi dari struct nand_bbt_descr... - person leonp; 24.01.2018