Kernel 빌드

Post Reply
Whyliloo
Posts: 35
Joined: Mon Oct 28, 2019 3:51 pm
languages_spoken: english
ODROIDs: N2
Has thanked: 11 times
Been thanked: 0
Contact:

Kernel 빌드

Post by Whyliloo »

안녕하세요.
Odroid-N2 와 안드로이드를 탑재하였습니다.
부팅 로고 및 기타 config 변경을 위해 U-Boot 및 Kernel 빌드해보려고 하는데요 .

https://wiki.odroid.com/odroid-n2/softw ... ing_kernel

여기대로 진행중인데요.

git clone --depth 1 https://github.com/hardkernel/linux.git -b odroidg12-4.9.y-android
로 클론을 했으나, checkout 이 안됬다는 오류가 뜨고있습니다.
linux 폴더에서 git restore --source=HEAD :/
를 시도하게되면

error: unable to create file drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c: Invalid argument
error: unable to create file drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.h: Invalid argument

라는 메세지가 뜹니다.

현재 U-Boot 빌드는 성공했는데, Kernel 빌드도 안되고, 기존에 잘 되던 source 빌드도 어떤 문제로 에러가 발생합니다.

어떻게 해야 하나요?

User avatar
tobetter
Posts: 6113
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: Many
Location: Paju, South Korea
Has thanked: 281 times
Been thanked: 789 times
Contact:

Re: Kernel 빌드

Post by tobetter »

git clone 명령에서 "--depth 1"을 빼고 실행해보시기 바랍니다.
하지만, 만약 커널을 직접 빌드해서 이미지를 교체하면서 디버깅을 하시려면, 커널만 다운로드 받아서 빌드하시기 보다는 안드로이드 전체를 받아서 커널 이미지를 만들어서 작업하시는 걸 권장합니다. 커널만 빌드한 후 Image.gz등만 교체해서는 부팅하지 않을 수 있습니다.

Whyliloo
Posts: 35
Joined: Mon Oct 28, 2019 3:51 pm
languages_spoken: english
ODROIDs: N2
Has thanked: 11 times
Been thanked: 0
Contact:

Re: Kernel 빌드

Post by Whyliloo »

tobetter wrote:
Wed Oct 14, 2020 3:00 pm
git clone 명령에서 "--depth 1"을 빼고 실행해보시기 바랍니다.
하지만, 만약 커널을 직접 빌드해서 이미지를 교체하면서 디버깅을 하시려면, 커널만 다운로드 받아서 빌드하시기 보다는 안드로이드 전체를 받아서 커널 이미지를 만들어서 작업하시는 걸 권장합니다. 커널만 빌드한 후 Image.gz등만 교체해서는 부팅하지 않을 수 있습니다.
위키 안드로이드 빌드 페이지에서

$ mkdir odroid-n2
$ cd odroid-n2
$ repo init -u https://github.com/hardkernel/android.git -b g12_9.0.0_64_master
$ repo sync

이 과정을 통해서 소스를 받으면 기본적으로 u-boot, linux 폴더가 없는데, 다른방법으로 전체 소스를 따로 받아야하는 것인가요?

시도 하고있는 중인 부분은 위의 방법으로 안드로이드 소스를 받고,
해당 소스 폴더 안에서
u-boot, kernel 소스를 git clone 하고, 부팅 로고를 변경 후
각각 빌드 해보고있습니다. u-boot는 성공했는데 kernel 소스받아오는 부분부터 오류가 나서 진행에 어려움이 있습니다.

u-boot, kernel 빌드 후
안드로이드 소스 빌드를 통해서 selfinstall.img 파일을 다시 만들어 보려고 하는데 과정에 문제가 있을까요?

User avatar
tobetter
Posts: 6113
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: Many
Location: Paju, South Korea
Has thanked: 281 times
Been thanked: 789 times
Contact:

Re: Kernel 빌드

Post by tobetter »

Whyliloo wrote:
Wed Oct 14, 2020 3:36 pm
tobetter wrote:
Wed Oct 14, 2020 3:00 pm
git clone 명령에서 "--depth 1"을 빼고 실행해보시기 바랍니다.
하지만, 만약 커널을 직접 빌드해서 이미지를 교체하면서 디버깅을 하시려면, 커널만 다운로드 받아서 빌드하시기 보다는 안드로이드 전체를 받아서 커널 이미지를 만들어서 작업하시는 걸 권장합니다. 커널만 빌드한 후 Image.gz등만 교체해서는 부팅하지 않을 수 있습니다.
위키 안드로이드 빌드 페이지에서

$ mkdir odroid-n2
$ cd odroid-n2
$ repo init -u https://github.com/hardkernel/android.git -b g12_9.0.0_64_master
$ repo sync

이 과정을 통해서 소스를 받으면 기본적으로 u-boot, linux 폴더가 없는데, 다른방법으로 전체 소스를 따로 받아야하는 것인가요?

시도 하고있는 중인 부분은 위의 방법으로 안드로이드 소스를 받고,
해당 소스 폴더 안에서
u-boot, kernel 소스를 git clone 하고, 부팅 로고를 변경 후
각각 빌드 해보고있습니다. u-boot는 성공했는데 kernel 소스받아오는 부분부터 오류가 나서 진행에 어려움이 있습니다.

u-boot, kernel 빌드 후
안드로이드 소스 빌드를 통해서 selfinstall.img 파일을 다시 만들어 보려고 하는데 과정에 문제가 있을까요?
안드로이드 전체 소스를 받으시면, U-boot는 bootloader/uboot 그리고 커널은 common디렉토리에 있습니다.
selfinstall.img를 만드실 계획이시면 따로 빌드하지 마시고 안드로이드에서 바로 빌드하는 것이 좋을 것 같습니다. 전체 빌드 시간 중에 bootloader와 커널이 차지하는 시간은 상대적으로 길지 않습니다.

Whyliloo
Posts: 35
Joined: Mon Oct 28, 2019 3:51 pm
languages_spoken: english
ODROIDs: N2
Has thanked: 11 times
Been thanked: 0
Contact:

Re: Kernel 빌드

Post by Whyliloo »

tobetter wrote:
Wed Oct 14, 2020 3:44 pm
Whyliloo wrote:
Wed Oct 14, 2020 3:36 pm
tobetter wrote:
Wed Oct 14, 2020 3:00 pm
git clone 명령에서 "--depth 1"을 빼고 실행해보시기 바랍니다.
하지만, 만약 커널을 직접 빌드해서 이미지를 교체하면서 디버깅을 하시려면, 커널만 다운로드 받아서 빌드하시기 보다는 안드로이드 전체를 받아서 커널 이미지를 만들어서 작업하시는 걸 권장합니다. 커널만 빌드한 후 Image.gz등만 교체해서는 부팅하지 않을 수 있습니다.
위키 안드로이드 빌드 페이지에서

$ mkdir odroid-n2
$ cd odroid-n2
$ repo init -u https://github.com/hardkernel/android.git -b g12_9.0.0_64_master
$ repo sync

이 과정을 통해서 소스를 받으면 기본적으로 u-boot, linux 폴더가 없는데, 다른방법으로 전체 소스를 따로 받아야하는 것인가요?

시도 하고있는 중인 부분은 위의 방법으로 안드로이드 소스를 받고,
해당 소스 폴더 안에서
u-boot, kernel 소스를 git clone 하고, 부팅 로고를 변경 후
각각 빌드 해보고있습니다. u-boot는 성공했는데 kernel 소스받아오는 부분부터 오류가 나서 진행에 어려움이 있습니다.

u-boot, kernel 빌드 후
안드로이드 소스 빌드를 통해서 selfinstall.img 파일을 다시 만들어 보려고 하는데 과정에 문제가 있을까요?
안드로이드 전체 소스를 받으시면, U-boot는 bootloader/uboot 그리고 커널은 common디렉토리에 있습니다.
selfinstall.img를 만드실 계획이시면 따로 빌드하지 마시고 안드로이드에서 바로 빌드하는 것이 좋을 것 같습니다. 전체 빌드 시간 중에 bootloader와 커널이 차지하는 시간은 상대적으로 길지 않습니다.
감사합니다. 한번 해보겠습니다.

더 여쭙고 싶은 것이 있습니다.

가지고있는 LCD 패널 해상도가 1024x768 60Hz 패널입니다.
SDCard 에다가 Android 이미지를 설치한 후에, Odroid-n2 에 넣고 부팅시,
화면에 'Out Of Range' 라는 메세지가 뜹니다.

최초 SDCard 를 넣고 부팅하게 되면,
(source)/device/hardkernel/odroidn2 에서 BoardConfig, init.rc, boot.ini 파일에서 일부 내용을 1024x768 로 변경해서 그런지
Out Of Range 메세지가 뜨다가 한참 지나서부터 안드로이드 화면이 뜹니다. 다음 재부팅 부터도 최초 Out Of Range 가 뜨고
곧장 안드로이드 로고 -> 안드로이드 부팅 완료 순서가 됩니다.

부팅시 kernel 단에서 최초 로고를 보여줄 때 높은 해상도가 기본설정이 되어있어서 화면에 해당 에러메세지를 띠우고,
그 다음 순서로 안드로이드 OS 를 실행하는 플로우로, 안드로이드는 해당 해상도로 설정되어 안드로이드 로고가 나오는 것 같습니다.

해결을 위해 (source)/common/drivers/video 쪽에서 무언가 바꿔야 하나요? 아니면 다른 방법이 있을까요?

User avatar
tobetter
Posts: 6113
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: Many
Location: Paju, South Korea
Has thanked: 281 times
Been thanked: 789 times
Contact:

Re: Kernel 빌드

Post by tobetter »

Whyliloo wrote:
Wed Oct 14, 2020 4:12 pm
tobetter wrote:
Wed Oct 14, 2020 3:44 pm
Whyliloo wrote:
Wed Oct 14, 2020 3:36 pm
tobetter wrote:
Wed Oct 14, 2020 3:00 pm
git clone 명령에서 "--depth 1"을 빼고 실행해보시기 바랍니다.
하지만, 만약 커널을 직접 빌드해서 이미지를 교체하면서 디버깅을 하시려면, 커널만 다운로드 받아서 빌드하시기 보다는 안드로이드 전체를 받아서 커널 이미지를 만들어서 작업하시는 걸 권장합니다. 커널만 빌드한 후 Image.gz등만 교체해서는 부팅하지 않을 수 있습니다.
위키 안드로이드 빌드 페이지에서

$ mkdir odroid-n2
$ cd odroid-n2
$ repo init -u https://github.com/hardkernel/android.git -b g12_9.0.0_64_master
$ repo sync

이 과정을 통해서 소스를 받으면 기본적으로 u-boot, linux 폴더가 없는데, 다른방법으로 전체 소스를 따로 받아야하는 것인가요?

시도 하고있는 중인 부분은 위의 방법으로 안드로이드 소스를 받고,
해당 소스 폴더 안에서
u-boot, kernel 소스를 git clone 하고, 부팅 로고를 변경 후
각각 빌드 해보고있습니다. u-boot는 성공했는데 kernel 소스받아오는 부분부터 오류가 나서 진행에 어려움이 있습니다.

u-boot, kernel 빌드 후
안드로이드 소스 빌드를 통해서 selfinstall.img 파일을 다시 만들어 보려고 하는데 과정에 문제가 있을까요?
안드로이드 전체 소스를 받으시면, U-boot는 bootloader/uboot 그리고 커널은 common디렉토리에 있습니다.
selfinstall.img를 만드실 계획이시면 따로 빌드하지 마시고 안드로이드에서 바로 빌드하는 것이 좋을 것 같습니다. 전체 빌드 시간 중에 bootloader와 커널이 차지하는 시간은 상대적으로 길지 않습니다.
감사합니다. 한번 해보겠습니다.

더 여쭙고 싶은 것이 있습니다.

가지고있는 LCD 패널 해상도가 1024x768 60Hz 패널입니다.
SDCard 에다가 Android 이미지를 설치한 후에, Odroid-n2 에 넣고 부팅시,
화면에 'Out Of Range' 라는 메세지가 뜹니다.

최초 SDCard 를 넣고 부팅하게 되면,
(source)/device/hardkernel/odroidn2 에서 BoardConfig, init.rc, boot.ini 파일에서 일부 내용을 1024x768 로 변경해서 그런지
Out Of Range 메세지가 뜨다가 한참 지나서부터 안드로이드 화면이 뜹니다. 다음 재부팅 부터도 최초 Out Of Range 가 뜨고
곧장 안드로이드 로고 -> 안드로이드 부팅 완료 순서가 됩니다.

부팅시 kernel 단에서 최초 로고를 보여줄 때 높은 해상도가 기본설정이 되어있어서 화면에 해당 에러메세지를 띠우고,
그 다음 순서로 안드로이드 OS 를 실행하는 플로우로, 안드로이드는 해당 해상도로 설정되어 안드로이드 로고가 나오는 것 같습니다.

해결을 위해 (source)/common/drivers/video 쪽에서 무언가 바꿔야 하나요? 아니면 다른 방법이 있을까요?
말씀하신 부팅로고는 U-boot에서 확인되어야 합니다.
USB-to-Serial 어뎁터를 PC와 연결한 후 전원인가 후 부팅을 할 때 U-boot의 명령 프롬프트 상태로 진입한 후에 showlogo 1024x768p60hz을 실행해서 화면에 로고가 나오는지 먼저 확인해주시기 바랍니다.

Post Reply

Return to “N2/N2+”

Who is online

Users browsing this forum: No registered users and 2 guests