मैं कुछ दिनों के लिए बिटबेक में योक्टो बिल्ड चला रहा हूं, लेकिन मैंने देखा है कि यह कभी-कभी मेरे कर्नेल की zImage फ़ाइल का उत्पादन बंद कर देता है। मेरे द्वारा किए जा रहे अधिकांश परिवर्तन कर्नेल कॉन्फिग और Machine.conf फ़ाइल में हैं। जब ऐसा होता है, तब भी मुझे प्रत्येक बिल्ड के साथ अद्यतन tar.gz फ़ाइलें मिलती हैं, लेकिन zImage अपडेट होना बंद हो जाता है। do_clean, do_cleanall और do_cleansstate कार्यों को चलाने से मदद नहीं मिलती है, और न ही पुरानी zImage फ़ाइल को बिल्ड/tmp/तैनाती से हटाने में मदद मिलती है। केवल एक चीज जो पूरी पॉकी/बिल्ड/टीएमपी निर्देशिका को हटाने और पूरी परियोजना को खरोंच से पुनर्निर्माण करने में मदद करती है। यहाँ मेरी वर्तमान Machine.conf फ़ाइल है:

#@TYPE: Machine 
#@Name: EMAC, Inc. SoM-9G45M Module 
#@DESCRIPTION: Machine.inc configuration for the SoM-9G45M board with a at91sam9g45 processor 

TARGET_ARCH = "arm" 

PREFERRED_PROVIDER_virtual/kernel = "linux-2.6.30-at91-emac" 
PREFERRED_PROVIDER_xserver = "xserver-kdrive" 
KERNEL_IMAGETYPE = "zImage" 
KERNEL_EXTRA_ARGS = "LOADADDR=0x74000000"

#don't try to access tty1 
USE_VT = "0" 
MACHINE_FEATURES = "kernel26 apm alsa ext2 usbhost usbgadget" 
KERNEL_DEVICETREE = "at91som9g45.dtb"

# used by sysvinit_2 
#SERIAL_CONSOLE = "115200 ttyS1" 
SERIAL_CONSOLE = "115200 ttyS0" 
#SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1"
#SYSLINUX_DEFAULT_CONSOLE = "console=ttyS0"
#SYSLINUX_SERIAL = "0 115200"
#SYSLINUX_SERIAL_TTY = "console=ttyS0,115200"
#EXTRA_IMAGECMD_jffs2 = "--pad=0xA00000 --little-endian --eraseblock=0x20000" 

# NAND
MKUBIFS_ARGS = " -e 129024 -c 2047 -m 2048  -x lzo"
UBINIZE_ARGS = " -m 2048 -p 128KiB -s 512"

UBI_VOLNAME = "rootfs"

UBOOT_MACHINE = "${MACHINE}_nandflash_config"
UBOOT_ENTRYPOINT = "0x74000000"
UBOOT_LOADADDRESS = "0x74000000"

require include/at91sam9.inc

निर्दिष्ट कर्नेल छवि का उत्पादन बंद करने के लिए बिटबेक बिल्ड का क्या कारण हो सकता है, और मैं इसे कैसे ठीक करूं?

0
Smurph269 13 नवम्बर 2018, 21:51

1 उत्तर

सबसे बढ़िया उत्तर

उत्तर दो भागों में समाप्त हुआ।

पहले, bitbake -c do_cleansstate linux-at91 को चलाना और फिर bitbake core-image-sato ने सफलतापूर्वक zImage फ़ाइल को पुन: जनरेट किया।

दूसरा, linux-2.6.30-at91-emac गलत था क्योंकि मेरे कर्नेल को सिर्फ linux-at91 कहा जाता था। इसलिए मेरा कर्नेल बिल्ड केवल तभी चलाया जा रहा था जब मैं अन्य मशीनों के लिए बिल्ड चलाता था।

तो मेरी पूरी छवि निर्माण कर्नेल का पुनर्निर्माण नहीं कर रहा था क्योंकि मैंने एक अलग कर्नेल का संदर्भ दिया था। एक बार जब मैंने इसे ठीक कर लिया, तो कर्नेल बिल्ड फिर से चलना शुरू हो जाएगा। मुझे यकीन नहीं है कि मुझे पहली जगह में एक zImage कैसे मिला, या बिटबेक ने कभी भी एक कर्नेल बनाने के लिए कहा जाने के बाद त्रुटि क्यों नहीं फेंकी जो अस्तित्व में नहीं थी।

1
Smurph269 13 नवम्बर 2018, 20:59