Languages

Menu
Sites
Language
How to create valid Linux Kernel (dzImage) with Open Source Code for Gear S3, Gear Sport

Thanx for Source Code for SM-R760, SM-R600 and the other Gear devices... from here:

http://opensource.samsung.com

 

Thanx for releasing Tizen 3 Source for Software Revision 2... CQL1 based for SM-R760.

 

A.

Can we use "Custom" Kernel with normal Firmware/Bootloader...

 

In other words is it safe to test with Retail device... Or I brick Software Security and Warranty Void increased from 0 0x0000.

Maybe Engineer sboot mandatory?

B.

How to create fully valid 15 MB dzImage? With correct Header?

NZIT

 

I miss description from IMHO mandatory Tools:

mkdzimage

dtbtool

 

Please, maybe somebody could help...

Maybe I am wrong.

 

Thanx in advance.

 

Best Regards

Responses

10 Replies
K Johnson

Hello Peter,

How about sending your query directly to Samsung OSRC? I guess they may help you with proper information regarding these type of enquiry.

http://opensource.samsung.com/reception/userCountry.do

Peter Wegner

 

dtbtool -o ${BOOT_PATH}/merged-dtb -p ${DTC_PATH} -v ${BOOT_PATH}/dts/
if [ "$?" != "0" ]; then
echo "Failed to make merged-dtb"
exit 1
fi
 
mkdzimage -o ${BOOT_PATH}/${DZIMAGE} -k ${BOOT_PATH}/${IMAGE} -d ${BOOT_PATH}/merged-dtb
if [ "$?" != "0" ]; then
echo "Failed to make mkdzImage"
exit 1
fi 
 
 
How or where to find dtbtool AND mkdzimage for Ubuntu?
 
I can only find ARM system-tool...rpm or ...
 
Workaround is to use:
./scripts/exynos_dtbtool.sh -o arch/arm64/boot/merged-dtb -p scripts/dtc/ -v arch/arm64/boot/dts/
./scripts/exynos_mkdzimage.sh -o arch/arm64/boot/dzImage -k arch/arm64/boot/Image -d arch/arm64/boot/merged-dtb
 
Toolchain... this works...
http://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/aarch64-linux-gnu/
 
...
 
Best Regards
Peter Wegner

system-tools-0.0.1-1.1.i586.rpm

 

If this is 32 bit files... mkdzimage + dtbtool...

Where I can find the 64 bit files for Ubuntu?

 

Thanx in advance.

 

Best Regards

K Johnson

What's the problem you're facing now? Would you please share why do you need 64 bit files? You may use 32 bit toolchain and system-tools-0.0.1-1.1.i586.rpm instead of that. Unfortunately, I couldn't find any other dtbtool and mkdzimage file than system-tools-0.0.1-1.1.i586.rpm.

Peter Wegner

Thanx.

 

By clicking weired around in your nice sorted Server... I found the 64 bit files... also Source and Debug stuff... so IMHO 64 bit files exist...

system-tools-0.0.1-1.2.x86_64.rpm
system-tools-0.0.1-1.2.src.rpm

 

Now I hang on SM-R8 source...

 

Similar problem... I can not find 64 bit Toolchain... to use 

/opt/toolchain-aarch64/bin/aarch64-tizen-linux-gnu-gcc

 

So I can not use release.sh...

Now I spent few hours to bypass LCD "problem"...

 

.
.
.
  LD      drivers/video/fbdev/built-in.o
  LD      drivers/video/built-in.o
  LD      drivers/built-in.o
  LD      vmlinux.o
  MODPOST vmlinux.o
  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o
drivers/built-in.o: In Funktion `dsim_register_panel':
/home/ubuntu64/Dokumente/2018/1/2/drivers/video/fbdev/exynos/dpu_9110/dsim_drv.c:1676: Nicht definierter Verweis auf `s6e36w3x01_mipi_lcd_driver'
/home/ubuntu64/Dokumente/2018/1/2/drivers/video/fbdev/exynos/dpu_9110/dsim_drv.c:1676:(.text+0x25574): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against undefined symbol `s6e36w3x01_mipi_lcd_driver'
/home/ubuntu64/Dokumente/2018/1/2/drivers/video/fbdev/exynos/dpu_9110/dsim_drv.c:1676: Nicht definierter Verweis auf `s6e36w3x01_mipi_lcd_driver'
Makefile:978: die Regel für Ziel „vmlinux“ scheiterte
make: *** [vmlinux] Fehler 1
Failed to make Image

 

Okidoki, this could be my fault as started with:

./release_obs.sh usr tizen_galileo

 

If I look into defconfig files I see...

CONFIG_GALILEO=y

Code:
CONFIG_EXYNOS_DECON_LCD_S6E36W2X01=y

CONFIG_GALILEO_LARGE=y

Code:
CONFIG_EXYNOS_DECON_LCD_S6E36W3X01_L=y

CONFIG_GALILEO_SMALL=y

Code:
CONFIG_EXYNOS_DECON_LCD_S6E36W3X01_S=y

 

Used original Linaro ToolchainS...

gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz

 

Maybe I am at 6.4 blabla now... tested few 6. Versions...

 

Yes I know. Problem is ever in Front of Monitor...

Never behind bad or broken or non existing documentations.

:)

 

Tizen "optimized" Toolchain I found only...

tizen-toolchain-aarch64-0.1-4.22.x86_64.rpm

 

From TM1... seems also only 32 bit and little bit old... maybe for SM-R8 series...

Now I see...

My attempt with galileo small failed on other position...

 

Best Regards

K Johnson

Yes, I agree with you that it's time consuming to do such tasks without any documentation as you've to go through trial and error a lot of time. Did you ask OSRC for any documentation/guide?

Peter Wegner

Reason for 64 bit request is because on my Ubuntu is 32 bit not enabled...

And the problem is not... 64 bit files non existing...

 

system-tools-0.0.1-1.1.i586.rpm is not documented nor suggested in SM-R7 source nor in SM-R8...

 

It was luck... to find or to have...

 

And after hour/dayS... I was lucky to find the 64 bit files..

 

  1. system-tools-0.0.1-1.2.x86_64.rpm

 

Maybe I am blind and have not read all shipped infos...

Maybe RTFM would help.

:)

 

But I don't know where to find this manual...

:(

 

Best Regards

 

 

Peter Wegner

"Oops, I screwed up and you discovered my fatal flaw. Well, we're not all perfect, but we try. Can you try this again or maybe visit our Home Page to start fresh. We'll do better next time."

 

I have no luck...

 

First attempt to write Email failed because my Internet...

Now this...

 

Anyone knows how to be able to use:

qemu-accel-x86_64-armv7l-0.4.rpm

 

I am not familiar with qemu stuff...

 

Thanx in advance...

 

Best Regards

Peter Wegner

First success with:

gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu.tar.xz

I have edited release.sh to match this path to Toolchain...

 

Tested this with success...

./release.sh galileo small lte eur

 

According to release.sh...

./release.sh galileo large		SM-R800_NA_USA
./release.sh galileo large lte na	SM-R805U_NA_USA
./release.sh galileo large lte kor	SM-R805N_KOR_SKC
./release.sh galileo large lte eur	SM-R805F_EUR_XX
./release.sh galileo large lte chn	SM-R8050_CHN_CHN
./release.sh galileo small		SM-R810_NA_USA
./release.sh galileo small lte na	SM-R815U_NA_USA
./release.sh galileo small lte kor	SM-R815N_KOR_SKC
./release.sh galileo small lte eur	SM-R815F_EUR_XX

 

Sorry if not complete info nor verified 100 %...

 

I spend toooo much time to find working files... working Commands...

 

Only as info.

 

Best Regards

 

P.S.:

Not tested on real device... :)

.
.
. 
 KSYM    .tmp_kallsyms1.o
  KSYM    .tmp_kallsyms2.o
  LD      vmlinux
  SORTEX  vmlinux
  SYSMAP  System.map
  OBJCOPY arch/arm64/boot/Image
DTB combiner:
  Input directory: 'arch/arm64/boot/dts/exynos/'
  Output file: 'arch/arm64/boot/merged-dtb'
Found file: exynos9110-tizen_galileo_small_lte-r06.dtb ... 
chipset: 0x9110, platform: 6, rev: 0
Found file: exynos9110-tizen_galileo_small_lte-r08.dtb ... 
chipset: 0x9110, platform: 8, rev: 0
Found file: exynos9110-tizen_galileo_small_lte-r05.dtb ... 
chipset: 0x9110, platform: 5, rev: 0
Found file: exynos9110-tizen_galileo_small_lte-r11.dtb ... 
chipset: 0x9110, platform: 11, rev: 0
Found file: exynos9110-tizen_galileo_small_lte-r04.dtb ... 
chipset: 0x9110, platform: 4, rev: 0
Found file: exynos9110-tizen_galileo_small_lte-r09.dtb ... 
chipset: 0x9110, platform: 9, rev: 0
Found file: exynos9110-tizen_galileo_small_lte-r07.dtb ... 
chipset: 0x9110, platform: 7, rev: 0
Found file: exynos9110-tizen_galileo_small_lte-r10.dtb ... 
chipset: 0x9110, platform: 10, rev: 0
=> Found 8 unique DTB(s)
Start EXYNOS magic, version DTB... 
Generating master DTB...
(writing 'arch/arm64/boot/dts/exynos/exynos9110-tizen_galileo_small_lte-r04.dtb' - 137216 bytes) 
(writing 'arch/arm64/boot/dts/exynos/exynos9110-tizen_galileo_small_lte-r05.dtb' - 137216 bytes) 
(writing 'arch/arm64/boot/dts/exynos/exynos9110-tizen_galileo_small_lte-r06.dtb' - 137216 bytes) 
(writing 'arch/arm64/boot/dts/exynos/exynos9110-tizen_galileo_small_lte-r07.dtb' - 139264 bytes) 
(writing 'arch/arm64/boot/dts/exynos/exynos9110-tizen_galileo_small_lte-r08.dtb' - 139264 bytes) 
(writing 'arch/arm64/boot/dts/exynos/exynos9110-tizen_galileo_small_lte-r09.dtb' - 139264 bytes) 
(writing 'arch/arm64/boot/dts/exynos/exynos9110-tizen_galileo_small_lte-r10.dtb' - 139264 bytes) 
(writing 'arch/arm64/boot/dts/exynos/exynos9110-tizen_galileo_small_lte-r11.dtb' - 139264 bytes) 
Total wrote 1110016 bytes
completed
out_name[arch/arm64/boot/dzImage]
kern_name[arch/arm64/boot/Image]
dt_name[arch/arm64/boot/merged-dtb]
272+0 Datensätze ein
272+0 Datensätze aus
272 bytes copied, 0,0227367 s, 12,0 kB/s
./release.sh: Zeile 119: java: Befehl nicht gefunden
tar: dzImage: Funktion stat fehlgeschlagen: Datei oder Verzeichnis nicht gefunden
tar: Beende mit Fehlerstatus aufgrund vorheriger Fehler
Failed to tar dzImage

 

 

Peter Wegner

 

SM-Z130H

[CODE]cross-armv7l-gcc-accel-x86-armv7l-4.6.4-2013.05.2017.16.slp.armv7l.rpm[/CODE]


SM-Z200F

[CODE]cross-armv7l-gcc-accel-x86-armv7l-4.9.2.rpm[/CODE]


SM-Z300H

[CODE]cross-armv7l-gcc-accel-x86-armv7l-4.9.2.rpm[/CODE]


SM-Z400F

[CODE]qemu-accel-armv7l-0.4.rpm[/CODE]


SM-R600
[CODE]cross-aarch64-gcc-x86-arm-4.9.2.rpm
qemu-accel-armv7l-0.4.rpm
gcc-4.9.2.rpm[/CODE]

 


SM-R8.. series

[CODE]qemu-accel-x86_64-armv7l-0.4.rpm[/CODE]

 

How I can use the Toolchain from repos folder/package?

If Qemu is so easy... why I can not find any easy instruction?

 

 

Best Regards