포럼 회원으로 등록하신분만 다운로드가 가능합니다. 최대 업로드 가능한 용량은 20MB 입니다.

1. u-boot에서는
CONFIG_OVERWRITE_ETHADDR_ONCE

를 지정해 주면 ethernet address가 한번 overwrite가 됩니다. 당연히 ethernet은 쓴다고 되어 있어야 하고요.

2. kernel의 driver에서는 이렇게 처리해주면 됩니다.

static unsigned char my_ethaddr[MAX_ADDR_LEN];

/* need to get the ether addr from armboot */
static int __init ethaddr_setup(char *line)
{
    char *ep;
    int i;

    printk("ethaddr_setup()n");
    memset(my_ethaddr, 0, MAX_ADDR_LEN);
   
    /* there should really be routines to do this stuff */
    for (i = 0; i < 6; i++)
    {
        my_ethaddr[i] = line ? simple_strtoul(line, &ep, 16) : 0;
        if (line)
            line = (*ep) ? ep+1 : ep;
        printk("mac[%d] = 0x%02Xn", i, my_ethaddr[i]);

    }
   
    return 0;
}

__setup("ethaddr=", ethaddr_setup);

이 부분을 커널의 cs89x0.c에 삽입해 주신 후,

부트로더에서 넘겨주는 kernel command line argument를 이렇게 지정해 주면 됩니다.
setenv bootargs root=/dev/nfs rw nfsroot=172.16.1.253:/korea-dokdo/nfsmount/rootfs-aesop ip=172.16.1.100:172.16.1.253:172.16.1.1:255.255.255.0::eth0:off console=ttyS0 ethaddr=08:00:3e:26:0a:5b

여기의 맨 뒤에 있는 ethaddr=08:00:3e:26:0a:5b
이 cs8900에서 자동 해석하게 코드를 작성하면 됩니당....^^

그럼...

고도리

2012.01.30 00:34:35
*.127.19.87

위의 방법대로 구성된  my_ethaddr[i] 를 실제 device driver의 mac address가 세팅되는 부분에서 6바이트를 실제 디바이스의 mac으로 사용되는 배열에 넣어주시면 됩니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수

lowlevel_init.S 분석자료(aesop6410) [2]

리눅스 커널 소스 기본 구조

Hotplugging with udev file

FATAL: kernel too oldKernel panic - not syncing: Attempt...

GStreamer on TI DaVinci and OMAP

Creating a Root File System for Linux on OMAP35x

start.S 분석(aesop6410) [1]

u-boot.lds 분석(aesop6410)

u-boot - config.mk 분석(aesop6410) [3]

u-boot source tree 구조(aesop-6410) [3]

mdev and udev 사용 방법 및 적용 가이드 file

고현철님의 리눅스 Root File System 만들기 동영상 실습

고현철님의 리눅스 Root File System 만들기 동영상 강좌 [2]

linux kernel의 ethernet(MAC) address를 자동 지정해 주는 방법 [1]

embedded linux porting guide(ppcboot & mpc860) file [4]

uBuntu 8.10에서 Crosstool 0.43 사용 방법 [2]

kernel 2.6(S3C64XX)용 kernel image구조

리눅스 루트 파일 시스템 기본 구조 및 스펙 문서 file [3]

2.6.28 kernel에서 sk_buff에서 mac header를 가져오고 찍는 방법 [1]

Windows CE에서 NK.bin에 포함된 모듈 확인 하는 방법 file [1]

사용자 로그인