Create a Folder "hello" ; put the following hello.c & Makefile in this folder. 

 

hello.c : 

#include <linux/platform_device.h>

#include <linux/kernel.h>
#include <asm/uaccess.h>
#include <asm/system.h>
#include <linux/miscdevice.h>

#include <linux/input.h>
#include <linux/module.h>
#include <linux/init.h>

#include <asm/irq.h>
#include <asm/io.h>

#include <linux/slab.h>
#include <linux/i2c.h>
#include <linux/pm.h>
#include <linux/mutex.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/hwmon-sysfs.h>
#include <linux/err.h>
#include <linux/hwmon.h>
#include <linux/input-polldev.h>
#include <linux/random.h>
#include <linux/string.h>
#include <linux/gpio.h>


static int hello_init(void) {
    printk(KERN_INFO "Hello kernel\n");
    return 0;
}
static void hello_exit(void) {
    printk(KERN_INFO "Goodbye\n");
}
module_init(hello_init);
module_exit(hello_exit);

MODULE_LICENSE("GPL");
MODULE_AUTHOR("jasonc@mail2000.com.tw");

 

The file may be as simple as a single line:

    obj-m := <module_name>.o
 

Makefile :

obj-m := hello.o

 

Cross-Build

 

Change to the hello folder and build: 
   make V=1 CROSS-COMPILE=arm-eabi- ARCH=arm -C ../kernel M=`pwd` modules

The "./kernel" description above is the kernel source tree. Use "V=1" could detail all the compilation mssages. 
 

root@bebop:~/rockchip/firefly-rk3288-pad/hello# make V=1 CROSS-COMPILE=arm-eabi- ARCH=arm -C ../kernel M=`pwd` modules
make: Entering directory `/root/rockchip/firefly-rk3288-pad/kernel'
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (                \
        echo >&2;                                                       \
        echo >&2 "  ERROR: Kernel configuration is invalid.";           \
        echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
        echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";      \
        echo >&2 ;                                                      \
        /bin/false)
...
/root/rockchip/firefly-rk3288-pad/hello/hello.o /root/rockchip/firefly-rk3288-pad/hello/hello.mod.o
make: Leaving directory `/root/rockchip/firefly-rk3288-pad/kernel'
root@bebop:~/rockchip/firefly-rk3288-pad/hello#

 

root@bebop:~/rockchip/firefly-rk3288-pad/hello# ls
Makefile  modules.order  Module.symvers  hello.c  hello.ko  hello.mod.c  hello.mod.o  hello.o
@bebop:~/rockchip/firefly-rk3288-pad/hello#

 

To clean:
   make V=1 CROSS-COMPILE=arm-eabi- ARCH=arm -C ../kernel M=`pwd` clean

 

An Example about Multiple C Files into 1 Kernel Module

 

...
obj-m :=        rtw.o
rtw-y :=        core/rtw_cmd.o \
                core/rtw_security.o \
                core/rtw_debug.o \
                core/rtw_io.o \
...

 

If Need Any Additional Include

 

Try use ccflags-y . 

 

...
ccflags-y := \
                -I/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/include \
                -I/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/phydm \
                -I/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/btc \
                -I/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/platform \
                -DCONFIG_LITTLE_ENDIAN \
                -DDM_ODM_SUPPORT_TYPE=ODM_CE \
                -DEFUSE_MAP_PATH=\"/system/etc/wifi/wifi_efuse.map\" \
                -DHCI_NAME=\"usb\" \
                -DCONFIG_RTL8821C=\"y\"
...

 

to build Kernel modules, Try

make CROSS-COMPILE=arm-linux-gnueabihf- ARCH=arm -C ../kernel-dmc M=`pwd` modules

 

jasonc@bebop:~/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525$ make CROSS-COMPILE=arm-linux-gnueabihf- ARCH=arm -C ../kernel-dmc M=`pwd` modules
make: Entering directory `/home/jasonc/rk30-linux/kernel-dmc'
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_cmd.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_security.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_debug.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_io.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_ioctl_query.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_ioctl_set.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_ieee80211.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_mlme.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_mlme_ext.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_mi.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_wlan_util.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_vht.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_pwrctrl.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_rf.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_recv.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_sta_mgt.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_ap.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_xmit.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_p2p.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_rson.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_tdls.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_br_ext.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_iol.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_sreset.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_btcoex_wifionly.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_btcoex.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_beamforming.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/rtw_odm.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/core/efuse/rtw_efuse.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/hal_halmac.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/hal_intf.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/hal_com.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/hal_com_phycfg.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/hal_phy.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/hal_dm.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/hal_dm_acs.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/hal_btcoex_wifionly.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/hal_btcoex.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/hal_mp.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/hal_mcc.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/hal_hci/hal_usb.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/led/hal_usb_led.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/btc/halbtc8723bwifionly.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/btc/halbtc8822bwifionly.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/hal/btc/halbtc8821cwifionly.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/os_dep/osdep_service.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/os_dep/linux/os_intfs.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/os_dep/linux/usb_intf.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/os_dep/linux/usb_ops_linux.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/os_dep/linux/ioctl_linux.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/os_dep/linux/xmit_linux.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/os_dep/linux/mlme_linux.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/os_dep/linux/recv_linux.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/os_dep/linux/ioctl_cfg80211.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/os_dep/linux/rtw_cfgvendor.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/os_dep/linux/wifi_regd.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/os_dep/linux/rtw_android.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/os_dep/linux/rtw_proc.o
  CC [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/platform/platform_arm_act_sdio.o
  LD [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: "recvbuf2recvframe" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "phydm_c2H_content_parsing" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "halmac_init_adapter" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "init_hal_spec_rtl8821c" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "phydm_cmn_sta_info_hook" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "halrf_cmn_info_get" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "phydm_fwoffload_ability_init" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "halrf_cmn_info_init" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "odm_cmn_info_init" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "odm_acquire_spin_lock" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "phydm_cmn_info_query" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "halrf_lck_trigger" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "odm_pause_dig" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "odm_cmn_info_ptr_array_hook" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "rtl8821cu_set_hal_ops" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "odm_write_dig" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "phydm_ra_registed" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "EFUSE_IsAddressMasked_MP_8821C_MUSB" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "phydm_watchdog" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "odm_cmn_info_hook" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "odm_cmn_info_update" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "odm_config_rf_with_header_file" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "halmac_get_version" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "EFUSE_GetArrayLen_MP_8821C_MUSB" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "halmac_deinit_adapter" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "phydm_adaptivity_info_init" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "halrf_cmn_info_set" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "phydm_watchdog_lps" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "phydm_init_debug_setting" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "phydm_fwoffload_ability_clear" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "odm_release_spin_lock" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "phydm_cmd" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "rtl8821cu_set_hw_type" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "odm_config_bb_with_header_file" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "EFUSE_GetMaskArray_MP_8821C_MUSB" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "odm_phy_status_query" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
WARNING: "halrf_segment_iqk_trigger" [/home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko] undefined!
  CC      /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.mod.o
  LD [M]  /home/jasonc/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525/rtw.ko
make: Leaving directory `/home/jasonc/rk30-linux/kernel-dmc'
jasonc@bebop:~/rk30-linux/rtl8821CU_WiFi_linux_v5.2.15.2_27778.20180515_COEX20171114-2525$

 

 

 

 

 

Git 設定 Upstream

 

$ git branch foo
...
$ git branch --set-upstream-to=origin/foo
...

 

 

 

 

 

 

 

Reference:

https://www.kernel.org/doc/Documentation/kbuild/modules.txt

 

 

 

 

arrow
arrow

    Lexra 發表在 痞客邦 留言(0) 人氣()