Compiling Grate Kernel For Tegra 3 T30l

06 Oct 2023 - Nvidia Tegra

Preparing softwares to compile the mainline kernel (grate-kernel). Using git to get the linux kernel source code to your computer

Grate kernel
Grate kernel
...

$ sudo su
<passwd>
# apt-get install build-essential git fakeroot ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison make crossbuild-essential-armhf gcc-arm-none-eabi gcc-arm-linux-gnueabihf libmpc-dev libgmp-dev mkbootimg
# exit
$ mkdir -p linux

Grate-driver tegra kernel:
$ git clone --depth=1 --branch master https://github.com/grate-driver/linux.git linux

Clamor's transformer kernel:
$ git clone --depth=1 --branch transformer https://github.com/clamor-s/linux.git linux

$ cd linux
$ make clean

...
Grate kernel
Grate kernel
...

$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- transformer_defconfig
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- menuconfig
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- savedefconfig
$ make clean

Grate-driver tegra kernel:
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- grate_defconfig pmos.config

Clamor's transformer kernel:
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- transformer_defconfig

$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- -j $(nproc)

rev.E1565:
$ cat arch/arm/boot/zImage arch/arm/boot/dts/tegra30-asus-nexus7-grouper-E1565.dtb >| zImage-dtb

rev.PM269:
$ cat arch/arm/boot/zImage arch/arm/boot/dts/tegra30-asus-nexus7-grouper-PM269.dtb >| zImage-dtb

The Nexux 7 2012 boot command-line

deviceinfo_flash_offset_base="0x10000000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x00000100"

$ mkbootimg --kernel zImage-dtb -o boot.img --base 0x10000000 --kernel_offset 0x00008000 --ramdisk_offset 0x01000000 --second_offset 0x00f00000 --tags_offset 0x00000100

$ fastboot devices
$ fastboot boot boot.img

...

Note: n7 2012 grouper rev.E1565 when building zImage, boot.img or vmlinuz must have capacity < 3.5MB. When building with pmbootstrap integrated with initramfs, it must be < 6.9MB. Writing your own initramfs to continue booting when the grate-kernel has reset PID 1.

 

Recent Posts:

When I want to write an image slideshow for card... more

Usually people reading Initramfs or initrd will immediately think it... more

When I went through writing cpu throttle code for tegra,... more

They Did It

30 Apr 2023 - linuxmobile

After Google, Apple and smartphone companies successfully built geo location-based... more

Because when the user buys the devices, in addition to... more

When Android and ARM were in early time, there was... more

The reason I write this article because some people asked... more

Initially, when I stepped foot in GNU/Linux, I realized that... more

If you have armhf or arm64 GNU/Linux available, it’s quite... more

First of all, GNU/Linux running mainline kernel has 2 main... more

Because Android is a fork of GNU/Linux, that means only... more

When I created my personal blog from basic jekyll barebone,... more

U Boot On Tegra Soc

12 Feb 2023 - tegra

As mentioned in the previous post, Nexus 7 2012 grouper/tilapia... more

Fosdem 2023

05 Feb 2023 - linuxmobile

This event could view online at this link. They... more

I finished barebone static blog from Jekyll documents and... more

This is hard part about Tegra 3 T30L, which I... more

This post, I share my experiences from I/O and CPU... more

I wrote some lk2nd experiences at previous post. Xiaomi Redmi... more

How the system booting!? Let’s start, since Google created compatible... more

This is the first SoC on ARM. Nvidia made ULP... more

When I wanna push source code to git, I saw... more

When I was online, I saw some github.io website. I’ve... more

 
More articles